On 24 October 2012 11:16, S. Doaitse Swierstra <doai...@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 _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime