Proposal: Adding Kleisli composition to Control.Monad

John Meacham john at
Mon Nov 13 17:58:19 EST 2006

On Mon, Nov 13, 2006 at 04:57:30PM -0500, roconnor at wrote:
> On Mon, 13 Nov 2006, Ashley Yakeley wrote:
> >Donald Bruce Stewart wrote:
> >
> >>    forever :: (Monad m) => m a -> m ()
> >
> >This should be:
> >
> > forever :: (Monad m) => m a -> m b
> forever even has a different type than repeatM_.  More reason to have 
> both.

Is anyone else feeling uncomfortably crowded by the current namespace
exported by the haskell libraries? I think this is something we need to
start keeping in mind. The recent additions to Monoid ate up a whole
swath of useful terms for instance, making me have to change all my
imports for the most part. If every library followed suit then the
import list at the top of modules will become quite convoluted. Short
useful names are good, but so is getting at the base functionality of
something without wading through a lot of esoteric combinators.


John Meacham - ⑆⑆john⑈

More information about the Libraries mailing list