If ifThenElse is good for RebindableSyntax, then I'm +1 on that (but I've never played with that extension, so I don't really know). I'm -1 on (?). We already have bool, which tends to be rather more useful when partially applied.
It seems this’s a very old request, see https://wiki.haskell.org/If-then-else . I’d like to see following:ifThenElse :: Bool -> a -> a -> a ifThenElse True x _ = x ifThenElse False _ y = yinfixr 1 ? (?) :: Bool -> a -> a -> a (?) = ifThenElsein Date.Bool module, it will have advantages that:
+ It’s more composable than syntax.
+ Write (xxx ? yyy $ zzz) instead of (if xxx then yyy else zzz) is more consistent with (f . g $ x) style, and save key strokes.
+ In module with RebindableSyntax enabled, you can import ifThenElse to get default behavior.
Whether or not to be exported by Prelude is another question, but Data.Bool seems a good place to start with.Cheers~Winter
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries