PROPOSAL: Make Applicative a superclass of Monad

Christian Maeder Christian.Maeder at
Tue Jun 24 07:43:08 EDT 2008

Could someone explain why it breaks H98 compatibility? 
Control.Applicative alone is at least marked "portable".

Thanks Christian

Ross Paterson wrote:
> On Tue, Jun 24, 2008 at 02:15:19AM -0700, Ashley Yakeley wrote:
>> Make Applicative (in Control.Applicative) a superclass of Monad (in  
>> Control.Monad). Rename members of Applicative and other functions, to  
>> avoid unnecessary duplication.
> The big problem with this is that it would break compatibility with
> Haskell 98, and any existing program that defines a Monad instance.

More information about the Libraries mailing list