Proposal: Add isLeft/isRight to Data.Either
Andreas Abel
andreas.abel at ifi.lmu.de
Thu Dec 6 22:42:09 CET 2012
+1 for Herberts proposal.
On 06.12.12 6:41 AM, Herbert Valerio Riedel wrote:
>
> - from{Left,Right} are useful when working in the 'Maybe' monad or
> applicative functor for converting 'Either'-typed values (this also
> applies to the dual case of working in the 'Either' monad/app-functor
> and having to deal with 'Maybe' values)
>
> - IMHO, 'maybeRight' has better readability than inlining 'either
> (const Nothing) Just' - for me it's not so much about typing less, as
> more about having code that is easier to read out loud.
>
> - I often use the 'when'-like combinator 'whenJust' in monadic code:
>
> whenJust :: Monad m => Maybe a -> (a -> m ()) -> m ()
> whenJust (Just x) a = a x
> whenJust _ _ = return ()
+1. whenJust is defined also in Agda.Utils.Monad, should also added to
Control.Monad.
> - As the types in Data.Either and Data.Maybe are part of the Haskell
> standard library, and IMHO basic primitives such as maybe{Left,Right}
> should be located in those modules as well.
+1
--
Andreas Abel <>< Du bist der geliebte Mensch.
Theoretical Computer Science, University of Munich
Oettingenstr. 67, D-80538 Munich, GERMANY
andreas.abel at ifi.lmu.de
http://www2.tcs.ifi.lmu.de/~abel/
More information about the Libraries
mailing list