PROPOSAL: Make Applicative a superclass of Monad

Isaac Dupree isaacdupree at
Tue Jun 24 09:57:39 EDT 2008

Bulat Ziganshin wrote:
> Hello Ashley,
> Tuesday, June 24, 2008, 1:15:19 PM, you wrote:
>> Make Applicative (in Control.Applicative) a superclass of Monad (in
> it will break H98 compatibility - some code written in H98 will be
> impossible to compile with such library. since GHC is (among other
> features) provides full H98 compatibility, we can't make such change

Is there any practical way we can make this change while still making it 
possible to compile Haskell98 programs at all?  It seems that even with 
a compiler flag, it will be difficult to do with current haskell 
implementations (at the very least, a different Monad class would have 
to be exported from haskell98 modules than from... modern modules.)

More information about the Libraries mailing list