Proposal: Adding Kleisli composition to Control.Monad

Ashley Yakeley ashley at
Mon Nov 13 16:29:44 EST 2006

Donald Bruce Stewart wrote:

>     forever :: (Monad m) => m a -> m ()

This should be:

   forever :: (Monad m) => m a -> m b

I agree with Conor both that this should really be in Applicative and 
also that it may be more convenient to keep it in Monad for the time 
being. If "Joined-Up Classes" 
<> is approved, 
'forever' would then be one of the values to be generalised to Applicative.

Ashley Yakeley

More information about the Libraries mailing list