Add ifThenElse and (?) to Data.Bool

David Feuer david.feuer at gmail.com
Thu Nov 17 03:03:17 UTC 2016


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.

On Nov 16, 2016 9:43 PM, "winter" <drkoster at qq.com> wrote:

> 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 _ = xifThenElse False _ y = y
>
>
> infixr 1 ?(?) :: Bool -> a -> a -> a(?) = ifThenElse
>
>
> in 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 at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20161116/072e75c4/attachment.html>


More information about the Libraries mailing list