PROPOSAL: Make Applicative a superclass of Monad

Ashley Yakeley ashley at
Tue Jun 24 15:10:18 EDT 2008

Malcolm Wallace wrote:
> I'm strongly against.
> Some datatypes have several different possible implementations of
> Applicative, for instance, they may be either lazy or strict.  The
> PolyParse library relies crucially on the fact that the Monad and
> Applicative instances for the Parser type have different strictness
> behaviours.
> I worry that if Applicative were to become a superclass of Monad, this
> way of partitioning my API into lazy and strict portions may no longer
> be possible, or least, a good deal less convenient.

Do you have an example of this?

I should make (>>) a member of Applicative. Would that address you 
concern? Or are (Applicative) pure and (Monad) return different for your 
type? I intend to re-submit this for Haskell Prime.

Ashley Yakeley

More information about the Libraries mailing list