I'm +1 for bool, but find cond doesn't hit the Fairbairn threshold for me.

-Edward

On Sep 11, 2013, at 6:18 PM, Conal Elliott <conal@conal.net> wrote:

+1 for bool

+1/2 for cond but with its signature generalized to Applicative:

> cond :: Applicative f => f a -> f a -> f Bool -> f a
> cond = liftA3 bool

-- Conal


On Tue, Sep 10, 2013 at 5:17 PM, Dan Burton <danburton.email@gmail.com> wrote:
+1 for Data.Bool.bool :: a -> a -> Bool -> a. It doesn't seem very important but it does add symmetry with maybe and either, and is mostly harmless residing in Data.Bool as long as it is not re-exported by Prelude.

On a tangent... as usual, the Applicative instance of (a ->) comes in handy for pointless programming:

    cond = liftA3 bool :: (a -> b) -> (a -> b) -> (a -> Bool) -> a -> b


-- Dan Burton


On Tue, Sep 10, 2013 at 4:01 PM, Christopher Done <chrisdone@gmail.com> wrote:
FWIW I've added this to data-extra http://chrisdone.com/data-extra/Data-Bool-Extra.html for the meanwhile.


On 11 September 2013 00:02, Oliver Charles <ollie@ocharles.org.uk> wrote:
Hello,

I would like to propose that the following is added to Data.Bool in base:

bool :: a -> a -> Bool -> a
bool f _ False = f
bool _ t True  = t

(Aka, bool f t b = if b then t else f)

The purpose of this is hopefully evident from its definition. I find
myself reaching for this in cases similar to where I would use 'maybe' -
often when I'm working with 'fmap' and don't want to start introducing
names for the function I am using to map over some functor.

I suggested this in #haskell and other people also seem frustrated this
doesn't exist, and would like to see it happen - hopefully they will
voice their support as a reply here.

A quick search on FPComplete's Hoogle [1] shows five equivalent
functions on the first page - and I'm sure there are more on subsequent
pages.

Thoughts?
- ocharles

---
[1]:
https://www.fpcomplete.com/hoogle?q=Bool+-%3E+a+-%3E+a+-%3E+a&env=ghc-7.4.2-stable-13.09


_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries



_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries



_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries


_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries