[Haskell-cafe] ANNOUNCE: binary: high performance, pure binary serialisation

Ross Paterson ross at soi.city.ac.uk
Tue Jan 30 13:26:31 EST 2007

On Tue, Jan 30, 2007 at 10:22:58AM +0000, Duncan Coutts wrote:
> Ross, you need to make a monoid transformer library (at least reader and
> state) and campaign for ++ to be redefined as mappend, then everyone
> will want to use it since it'll be so neat and convenient! :-)

Reader is already there.  The best way to do state, I think, is
to generalize the Endo type from (->) to any arrow and then use
Kleisli (Writer m).

Monoids could certainly do with a more convenient syntax, but there's
no hope of redefining ++.

Another problem is that we have Monoid, Alternative, MonadPlus and
ArrowPlus all with similar operations.  If only we could write

	instance (Monad m, forall a. Monoid (m a)) => MonadPlus m

This was proposed in


but nothing seems to have come of it.

More information about the Haskell-Cafe mailing list