In opposition of Functor as super-class of Monad
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
The wiki page explains it and links to the other similar proposals:
More information about the Haskell-prime