sorear | narain: don't enable -fglasgow-exts. it is evil and encourages nonportability. I wish ghc properly supported LANGUAGE :( |
narain | oh, i do have that at the top of my code, dang |
sorear | @botsnack |
lambdabot | :) |
narain | hmm, mptc + (ghc < 6.6) => -fglasgow-exts well, i can just not use deriving but then i have to write the whole instance myself! is there no other way? |
sorear | narain: exactly - see above abot language brokenness. GHC *should* just enable mptcs, but -fglasgow-exts is all-or-nothing internally there's also a bug with newtype deriving |
kpreid | sorear: there are newtypes you can't derive on :) |
sorear | but someone broke hackage.haskell.org/trac/ghc kpreid: but interestingly no such classes. kpreid: you can crash ghc by telling it to newtype derive specially constructed classes kpreid: but the bugtracker is down :( |
narain | so even if i upgraded to ghc 6.6 and just enabled mptcs using LANGUAGE, it would be the same as all of -fglasgow-exts? |
kpreid | oh, I see. "absolutely anything" meant classes |
sorear | narain: I suspect so. (haven't tried it.) I think I finally got the idea behind prolog. |
narain | well that's not my main concern right now... if i just want the "obvious" instance of the type class, do i have to write it all myself? |
ddarius | sorear: Say it. |
narain | sorear: prolog is fun but very cumbersome for things outside its particular domain |
ddarius | I'm suspecting that if you only "think" you do, you have a bit more to work on. |
SamB | isn't the idea behind prolog that you don't mind backtracking forever? |
ddarius | narain: Prolog is pretty hideous but it's handy to learn. SamB: If only. |
sorear | ddarius: stateful backtracking with unification |
ddarius | sorear: What does that mean to you? |
jaredj | tuomov: "Or forget multihead. It's stupid anyway. " |
narain | ddarius: well, i like the idea of logical variables that can be unified with each other |
ddarius | narain: Logical variables are very nice. narain: Prolog for better or worse, is the archetypical logic language, and, as such, is a must-learn language. |
sorear | ddarius: when you have a function foo(X,X). and you see foo(true,X), we enter foo, we tentatively unify the top level true with foo's X, then the top level's X with true's X == true. then foo exits, and we see that top level X is unified with 'true', so we know that true satisfies the equations. |
narain | sorear: except foo is not a "function" but yeah, pretty much |
sorear | My denotations have been tainted by the operational mechanism I invented. Before today, it was all unimplemenentable magic to me :) |
action | ddarius should make @prolog |
ddarius | should make @prolog I have all the code, just need to hook it into lambdabot. |