
14 Jun
2018
14 Jun
'18
10:37 a.m.
Proposal: add: instance Monoid e => Alternative (Either e) where empty = Left mempty Left a <|> Left b = Left (a `mappend` b) Right a <|> _ = Right a _ <|> Right b = Right b instance Monoid e => MonadPlus (Either e) where ... to base. This is a reasonably obvious instance which I am pretty sure is law abiding. It'd be useful for defining a series of computations which may fail, where we only care about one success.