[Haskell-cafe] Where is the pairing-with-monoid monad instance?

Conal Elliott conal at conal.net
Wed Jan 11 03:23:33 CET 2012


Is the standard pair-with-monoid monad instance in some standard place? I
see the Applicative instance in Control.Applicative, and the
pair-with-monoid Functor instance in Control.Monad.Instances, and the (->)
e and Either e monad instances also in Control.Monad.Instances.

I'm looking for something like

    instance Monoid o => Monad ((,) o) where
      return a    = (mempty,a)
      (o,a) >>= f = (o `mappend` o', b)
        where (o',b) = f a

Where is it hiding from me?

Thanks, - Conal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120110/5026585e/attachment.htm>


More information about the Haskell-Cafe mailing list