[Haskell-cafe] Applicative functors with branch/choice ?
dominique.devriese at cs.kuleuven.be
Thu Jul 26 07:28:35 CEST 2012
> The possible extension may look somehow like this:
> class Applicative a => Branching a where
> branch :: a (Either b c) -> (a b -> a d) -> (a c -> a d) -> a d
What about the following alternative that does not require an extension?
eitherA :: Applicative f => f (a -> c) -> f (b -> c) -> f (Either a b) -> f c
eitherA = liftA3 either
Note by the way that the result of this function will execute the
effects of all of its arguments (as you would expect for an
More information about the Haskell-Cafe