rfc: include bimap into Data.Either

Tobias Florek haskell at ibotty.net
Sun Apr 20 15:31:52 UTC 2014


hi,

what do you think about exporting the ArrowChoice function `left` from 
Data.Either? both modules live in base, so i think the usual arguments 
against reexporting don't apply (as much).

it might be needed to split the core of Data.Either into 
Data.Either.Internal to let Control.Arrow break the dependency cycle though.

that will --of course-- not solve problem, that people might not 
recognize that that's the function they need. but when exploring a 
library interactively (ghci) a reexport might have give people a clue 
that left _is_ what they want. and that other related functions might be 
in Control.Arrow. i'm sure it would have for my part.


regarding the documentation enhancement: would the spelled-out instance 
for (->) in Control.Arrow help? i mean: when a user knows to look into 
Control.Arrow, it's not that hard to see, that left is the thing they 
are looking for.


cheers,
  tobias florek


More information about the Libraries mailing list