
24 Jun
2013
24 Jun
'13
3:20 p.m.
Edward Kmett
writes:
The third construction is the 'universal' lifting that works for every Applicative, which would look like:
instance (Monad m, Monoid a) => Monoid (ContT r m a) where mempty = return mempty mappend = liftM2 mappend
Why not then this? That is, once AMP is out... instance (Applicative m, Monoid a) => Monoid (m a) where mempty = pure mempty mappend = liftA2 mappend -- John Wiegley FP Complete Haskell tools, training and consulting http://fpcomplete.com johnw on #haskell/irc.freenode.net