Proposal: Add isLeft/isRight to Data.Either
Henning Thielemann
lemming at henning-thielemann.de
Wed Dec 5 17:16:00 CET 2012
On Wed, 5 Dec 2012, Daniel Fischer wrote:
> On Mittwoch, 5. Dezember 2012, 09:23:31, Simon Hengel wrote:
>> Hi Herbert,
>>
>> On Tue, Dec 04, 2012 at 11:02:07PM +0100, Herbert Valerio Riedel wrote:
>>> btw, what I've been missing even more than isLeft/isRight is something
>>> like
>>>
>>> leftMaybe :: Either a b -> Maybe a
>>> leftMaybe (Left x) = Just x
>>> leftMaybe _ = Nothing
>>>
>>> rightMaybe :: Either a b -> Maybe b
>>> rightMaybe (Right x) = Just x
>>> rightMaybe _ = Nothing
>>
>> There seems to be support for this. I think it would be useful to have
>> a separate proposal/patch.
>
> I'm not against it, but I would like to ask whether these are really used so
> frequently that
>
> Prelude> :t either Just (const Nothing)
> either Just (const Nothing) :: Either a b -> Maybe a
>
> is too cumbersome.
The same can be asked for
Prelude> :t either (const False) (const True)
either (const False) (const True) :: Either a b -> Bool
or
isLeft = isJust . maybeLeft
More information about the Libraries
mailing list