00:17:20 <McManiaC> well, in that specific example I actually am :>
00:17:38 <McManiaC> oh and I love rebindablesyntax: http://npaste.de/rD/
00:17:40 <McManiaC> :)
00:22:33 <Entroacceptor> I don't understand that
00:23:24 <McManiaC> you can rebind if..then..else
00:23:37 <Entroacceptor> oh, that is what happens
00:23:42 <Entroacceptor> where do you do that?
00:24:02 <McManiaC> its an extension
00:24:04 <Entroacceptor> I mean, you never say "if = ifThenElse"
00:25:06 <Entroacceptor> ah, ok, I see
00:25:56 <Entroacceptor> ...and now I understand
00:25:58 <Entroacceptor> nice! :)
00:26:25 <McManiaC> :D
22:00:10 <McManiaC> http://blog.n-sch.de/2010/11/27/rebindable-if-then-else-statements/ :)
23:03:56 <aavogt> McManiaC: why is IfThenElse not done with associated types?
23:04:52 <McManiaC> associated types?
23:04:58 <aavogt> -XTypeFamilies
23:05:00 <McManiaC> where type = ... ?
23:05:05 <aavogt> yes
23:05:22 <McManiaC> I tried that
23:05:37 <McManiaC> didn't work for me... at least I couldnt do it like that
23:06:16 <aavogt> class IFTE b x y where type Result b x y; ... -- is about the same
23:06:47 <McManiaC> yeah ok
23:06:48 <McManiaC> :)
23:06:49 <aavogt> but the problem is that maybe the x y need to be equal types...
23:07:38 <aavogt> ACTION isn't sure you can get the same effect with  TypeCast (from HList) after the fact
23:07:47 <aavogt> to address the missing fundeps
23:10:21 <McManiaC> are functional dependencies that bad? :>
23:10:43 <McManiaC> you can't get rid of that (m b) boilerplate anyway?
23:10:45 <aavogt> no
23:12:38 <aavogt> McManiaC: picking fundeps is difficult
23:13:07 <aavogt> since you don't want to restrict useful instances, while still improving inference
23:13:19 <McManiaC> ok yeah
23:13:25 <aavogt> but I think that class IfThenElse a b c d | a b c -> d where
23:13:34 <aavogt> is probably overly permissive
23:14:19 <McManiaC> but if you do class IFTE b x y where type Result... then you can't get much more from it, since you cannot define two instances with different "Result" types anyway
23:14:25 <aavogt> ex.  b == c  all the time?
23:14:35 <aavogt> McManiaC: yes they are the same
23:14:52 <McManiaC> aavogt: no, see the maybe instance
23:15:02 <McManiaC> http://hackage.haskell.org/trac/ghc/ticket/4798
23:15:44 <aavogt> is there much point in using  if then else instead of the 'maybe' function?
23:16:12 <McManiaC> you can use monads aswell :)
23:17:15 <aavogt> is the extension in 7.0.1?
23:17:28 <McManiaC> the extension yes, that patch not yet
23:18:12 <McManiaC> http://npaste.de/rJ/ <- the module
23:18:49 <aavogt> oh, it uses the one in scope
23:19:07 <McManiaC> yeah
23:20:41 <McManiaC> I'd prefer a separate extension without the whole RebindableSyntax thing, but apperently SPJ prefers the later
23:20:59 <McManiaC> just like OverloadedStrings works