
On Mon, 2006-11-13 at 13:15 +1100, Donald Bruce Stewart wrote:
[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.