rfc: include bimap into Data.Either

Dan Doel dan.doel at gmail.com
Fri Apr 18 21:09:51 UTC 2014


bimap is not a good name for this. There are too many things that can be
bimapped, and they are abstracted over using the Bifunctor class in
bifunctors, which has a method named bimap.

I also think people should just use Bifunctor, instead of one-off functions
being added into several modules. But I could live with bimapEither
existing, I suppose.

-- Dan


On Fri, Apr 18, 2014 at 4:54 PM, Tobias Florek <haskell at ibotty.net> wrote:

> hi,
>
> i propose to include the following functions into Data.Either.
>
>     mapLeft :: (a->b) -> Either a c -> Either b c
>     mapLeft f = bimap f id
>
>     bimap :: (a -> b) -> (c -> d) -> Either a c -> Either b d
>     bimap f g = either (Left . f) (Right . g)
>
> bimap and mapLeft already exists in edward kmett's either library (and in
> categories-extras and in gabriel gonzales' errors), but imo they are very
> useful by itself to warrant an inclusion in base. given bimap, mapLeft
> might not cross the fairbairn threshold though.
>
> note: i don't propose exporting them from Prelude.
>
> discussion period: 2 weeks
>
> cheers,
>  tobias florek
> _______________________________________________
> 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/20140418/2dc694ca/attachment.html>


More information about the Libraries mailing list