packages feed

monad-loops 0.3.2.0 → 0.3.3.0

raw patch · 2 files changed

+8/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Monad.Loops: iterateM_ :: Monad m => (a -> m a) -> a -> m b

Files

monad-loops.cabal view
@@ -1,5 +1,5 @@ name:                   monad-loops-version:                0.3.2.0+version:                0.3.3.0 stability:              provisional license:                BSD3 license-file:           LICENSE
src/Control/Monad/Loops.hs view
@@ -144,6 +144,13 @@                     then go                     else return y +{-# SPECIALIZE iterateM_ :: (a -> IO a) -> a -> IO b #-}+-- |Execute an action forever, feeding the result of each execution as the+-- input to the next.+iterateM_ :: Monad m => (a -> m a) -> a -> m b+iterateM_ f = g+    where g x = f x >>= g+ {-# SPECIALIZE untilM  :: IO a -> IO Bool -> IO [a] #-} {-# SPECIALIZE untilM' :: Monad m => m a -> m Bool -> m [a] #-} {-# SPECIALIZE untilM' :: IO a -> IO Bool -> IO [a] #-}