[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
http://research.microsoft.com/Users/simonpj/Papers/derive.htm
but nothing seems to have come of it.
More information about the Haskell-Cafe
mailing list