Proposal: Add bool to Data.Bool

Carter Schonwald carter.schonwald at gmail.com
Thu Sep 12 00:47:27 CEST 2013


so for the record, i'm +1 on bool (just to clarify my eariler email)


On Wed, Sep 11, 2013 at 6:18 PM, Conal Elliott <conal at 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 at 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 at 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 at 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 at haskell.org
>>>> http://www.haskell.org/mailman/listinfo/libraries
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Libraries mailing list
>>> Libraries at haskell.org
>>> http://www.haskell.org/mailman/listinfo/libraries
>>>
>>>
>>
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://www.haskell.org/mailman/listinfo/libraries
>>
>>
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20130911/ab038ee9/attachment.htm>


More information about the Libraries mailing list