Proposal: Adding Kleisli composition to Control.Monad
Donald Bruce Stewart
dons at cse.unsw.edu.au
Sun Nov 12 22:13:13 EST 2006
> On Mon, 2006-11-13 at 13:15 +1100, Donald Bruce Stewart wrote:
> > http://hackage.haskell.org/trac/ghc/ticket/997
> > Along with the useful control combinator:
> > forever :: (Monad m) => m a -> m ()
> > +-- | @'forever' act@ repeats the action infinitely.
> > +forever :: (Monad m) => m a -> m ()
> > +forever a = a >> forever a
> I would personally rather see repeatM and repeatM_ like the
> replicateM/replicateM_ pair already in Control.Monad.
> I implement them like this:
> repeatM = sequence . repeat
> repeatM_ = sequence_ . repeat
> Google CodeSearch tells me it's the way replicateM was implemented too:
> Btw, i hope it is ok to give my opinion on this. Im asking since im not
> a library developer or anything just a normal programmer.
On this topic, we can go back to:
However, it was pointed out that repeatM is next to useless, and it is
traditional to use 'forever' for repeatM_ (see for example "Tackling the
Awkward Squad", and http://haskell.org/haskellwiki/Roll_your_own_IRC_bot
That being said, repeatM_ isn't too bad, should people prefer it.
More information about the Libraries