In opposition of Functor as super-class of Monad

Duncan Coutts duncan.coutts at googlemail.com
Wed Oct 24 12:35:57 CEST 2012


On 24 October 2012 11:16, S. Doaitse Swierstra <doaitse at swierstra.net> wrote:
> There are very good reasons for not following this road; indeed everything which is a Monad can also be made an instance of Applicative. But more often than not we want to have a more specific implementation. Because Applicative is less general, there is in general more that you can do with it.

I don't think anyone is suggesting that we force all type that are
both Monad and Applicative to use (<*>)  = ap as the implementation.
As you say, that'd be crazy.

The details and differences between the various superclass proposals
are to do with how you provide the explicit instance vs getting the
default.

The wiki page explains it and links to the other similar proposals:

http://hackage.haskell.org/trac/ghc/wiki/DefaultSuperclassInstances

Duncan



More information about the Haskell-prime mailing list