Proposal: Add Applicative instances for the remaining monads in base

Paterson, Ross R.Paterson at city.ac.uk
Fri Nov 11 18:18:54 CET 2011


We also seem to be missing

instance ArrowPlus a => Alternative (ArrowMonad a) where
    empty = ArrowMonad zeroArrow
    ArrowMonad x <|> ArrowMonad y = ArrowMonad (x <+> y)

instance (ArrowApply a, ArrowPlus a) => MonadPlus (ArrowMonad a) where
    mzero = ArrowMonad zeroArrow
    ArrowMonad x `mplus` ArrowMonad y = ArrowMonad (x <+> y)


More information about the Libraries mailing list