The FunctorM library
benjamin.franksen at bessy.de
Thu Mar 24 06:39:40 EST 2005
On Thursday 24 March 2005 04:14, Thomas Hallgren wrote:
> Iavor Diatchki wrote:
> >Just to avoid confusion I think the suggestions were:
> >class Functor f => Monad f where ...
> >class Functor f => FunctorM f where ...
> >I know the first one differs from the Haskell report, but perhaps
> > this is a flaw in the library design that should be fixed.
> Yes, I think this should be fixed, and perhaps it could be done in a
> backward compatible way? If classes were allowed to declare default
> methods for superclasses, then you could have
> class Functor f where fmap :: ...
> class Functor m => Monad m where
> ...the usual stuff...
> fmap = liftM
> Then declaring
> instance Monad T where ...
> for some T, would implicitly introduce an instance Functor T, if it
> is not defined explicitly...
Robert Will has written a fully specified proposal for this. He calls it
"delayed method definition", see
http://www.stud.tu-ilmenau.de/~robertw/dessy/fun/, sections 4.3.1 and
Looks like a really good idea to me.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries