Proposal: Adding Kleisli composition to Control.Monad

Mattias Bengtsson moonlite at dtek.chalmers.se
Sun Nov 12 21:51:23 EST 2006


On Mon, 2006-11-13 at 13:15 +1100, Donald Bruce Stewart wrote:
> http://hackage.haskell.org/trac/ghc/ticket/997

[snip]

> Along with the useful control combinator:
> 
>     forever :: (Monad m) => m a -> m ()

[snip]

> +-- | @'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:
http://www.google.com/codesearch?hl=en&lr=&q=replicateM+file%3A%5C.hs%
24&btnG=Search

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://www.haskell.org/pipermail/libraries/attachments/20061113/b9aa7988/attachment.bin


More information about the Libraries mailing list