monad-loops 0.3.1.0 → 0.3.1.1
raw patch · 2 files changed
+4/−4 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Monad.Loops: allM :: (Monad m) => (a -> m Bool) -> [a] -> m Bool
+ Control.Monad.Loops: allM :: Monad m => (a -> m Bool) -> [a] -> m Bool
- Control.Monad.Loops: allPM :: (Monad m) => [a -> m Bool] -> (a -> m Bool)
+ Control.Monad.Loops: allPM :: Monad m => [a -> m Bool] -> (a -> m Bool)
- Control.Monad.Loops: andM :: (Monad m) => [m Bool] -> m Bool
+ Control.Monad.Loops: andM :: Monad m => [m Bool] -> m Bool
- Control.Monad.Loops: anyM :: (Monad m) => (a -> m Bool) -> [a] -> m Bool
+ Control.Monad.Loops: anyM :: Monad m => (a -> m Bool) -> [a] -> m Bool
- Control.Monad.Loops: anyPM :: (Monad m) => [a -> m Bool] -> (a -> m Bool)
+ Control.Monad.Loops: anyPM :: Monad m => [a -> m Bool] -> (a -> m Bool)
- Control.Monad.Loops: concatM :: (Monad m) => [a -> m a] -> (a -> m a)
+ Control.Monad.Loops: concatM :: Monad m => [a -> m a] -> (a -> m a)
- Control.Monad.Loops: dropWhileM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
+ Control.Monad.Loops: dropWhileM :: Monad m => (a -> m Bool) -> [a] -> m [a]
- Control.Monad.Loops: firstM :: (Monad m) => (a -> m Bool) -> [a] -> m (Maybe a)
+ Control.Monad.Loops: firstM :: Monad m => (a -> m Bool) -> [a] -> m (Maybe a)
- Control.Monad.Loops: iterateUntil :: (Monad m) => (a -> Bool) -> m a -> m a
+ Control.Monad.Loops: iterateUntil :: Monad m => (a -> Bool) -> m a -> m a
- Control.Monad.Loops: iterateWhile :: (Monad m) => (a -> Bool) -> m a -> m a
+ Control.Monad.Loops: iterateWhile :: Monad m => (a -> Bool) -> m a -> m a
- Control.Monad.Loops: orM :: (Monad m) => [m Bool] -> m Bool
+ Control.Monad.Loops: orM :: Monad m => [m Bool] -> m Bool
- Control.Monad.Loops: trimM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
+ Control.Monad.Loops: trimM :: Monad m => (a -> m Bool) -> [a] -> m [a]
- Control.Monad.Loops: unfoldM :: (Monad m) => m (Maybe a) -> m [a]
+ Control.Monad.Loops: unfoldM :: Monad m => m (Maybe a) -> m [a]
- Control.Monad.Loops: unfoldM_ :: (Monad m) => m (Maybe a) -> m ()
+ Control.Monad.Loops: unfoldM_ :: Monad m => m (Maybe a) -> m ()
- Control.Monad.Loops: unfoldWhileM :: (Monad m) => (a -> Bool) -> m a -> m [a]
+ Control.Monad.Loops: unfoldWhileM :: Monad m => (a -> Bool) -> m a -> m [a]
- Control.Monad.Loops: unfoldrM :: (Monad m) => (a -> m (Maybe (b, a))) -> a -> m [b]
+ Control.Monad.Loops: unfoldrM :: Monad m => (a -> m (Maybe (b, a))) -> a -> m [b]
- Control.Monad.Loops: untilJust :: (Monad m) => m (Maybe a) -> m a
+ Control.Monad.Loops: untilJust :: Monad m => m (Maybe a) -> m a
- Control.Monad.Loops: untilM :: (Monad m) => m a -> m Bool -> m [a]
+ Control.Monad.Loops: untilM :: Monad m => m a -> m Bool -> m [a]
- Control.Monad.Loops: untilM_ :: (Monad m) => m a -> m Bool -> m ()
+ Control.Monad.Loops: untilM_ :: Monad m => m a -> m Bool -> m ()
- Control.Monad.Loops: whileJust :: (Monad m) => m (Maybe a) -> (a -> m b) -> m [b]
+ Control.Monad.Loops: whileJust :: Monad m => m (Maybe a) -> (a -> m b) -> m [b]
- Control.Monad.Loops: whileJust_ :: (Monad m) => m (Maybe a) -> (a -> m b) -> m ()
+ Control.Monad.Loops: whileJust_ :: Monad m => m (Maybe a) -> (a -> m b) -> m ()
- Control.Monad.Loops: whileM :: (Monad m) => m Bool -> m a -> m [a]
+ Control.Monad.Loops: whileM :: Monad m => m Bool -> m a -> m [a]
- Control.Monad.Loops: whileM_ :: (Monad m) => m Bool -> m a -> m ()
+ Control.Monad.Loops: whileM_ :: Monad m => m Bool -> m a -> m ()
Files
- monad-loops.cabal +1/−1
- src/Control/Monad/Loops.hs +3/−3
monad-loops.cabal view
@@ -1,5 +1,5 @@ name: monad-loops-version: 0.3.1.0+version: 0.3.1.1 stability: provisional license: BSD3 license-file: LICENSE
src/Control/Monad/Loops.hs view
@@ -289,13 +289,13 @@ -- twist. Rather than returning a list, it returns any MonadPlus type of your -- choice. unfoldrM' :: (Monad m, MonadPlus f) => (a -> m (Maybe (b,a))) -> a -> m (f b)-unfoldrM' f z = go- where go = do+unfoldrM' f z = go z+ where go z = do x <- f z case x of Nothing -> return mzero Just (x, z) -> do- xs <- go+ xs <- go z return (return x `mplus` xs) {-# SPECIALIZE concatM :: [a -> IO a] -> (a -> IO a) #-}