yjtools 0.9.6 → 0.9.7
raw patch · 2 files changed
+10/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Monad.Tools: unlessM :: (Monad m) => m Bool -> m () -> m ()
- Control.Monad.Tools: whenM :: (Monad m) => m Bool -> m () -> m ()
- Data.Bool.Tools: (&&&) :: (Monad m) => m Bool -> m Bool -> m Bool
- Data.Bool.Tools: (|||) :: (Monad m) => m Bool -> m Bool -> m Bool
+ Control.Monad.Tools: filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
+ Control.Monad.Tools: whenM, unlessM :: Monad m => m Bool -> m () -> m ()
+ Data.Bool.Tools: (&&&, |||) :: Monad m => m Bool -> m Bool -> m Bool
- Control.Applicative.Tools: (<.>) :: (Functor f) => (a -> b) -> (c -> f a) -> c -> f b
+ Control.Applicative.Tools: (<.>) :: Functor f => (a -> b) -> (c -> f a) -> c -> f b
- Control.Monad.Tools: doWhile :: (Monad m) => a -> (a -> m (a, Bool)) -> m a
+ Control.Monad.Tools: doWhile :: Monad m => a -> (a -> m (a, Bool)) -> m a
- Control.Monad.Tools: doWhile_ :: (Monad m) => m Bool -> m ()
+ Control.Monad.Tools: doWhile_ :: Monad m => m Bool -> m ()
- Control.Monad.Tools: for :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b
+ Control.Monad.Tools: for :: Monad m => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b
- Control.Monad.Tools: for_ :: (Monad m) => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m ()
+ Control.Monad.Tools: for_ :: Monad m => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m ()
- Control.Monad.Tools: ifM :: (Monad m) => m Bool -> m a -> m a -> m a
+ Control.Monad.Tools: ifM :: Monad m => m Bool -> m a -> m a -> m a
- Control.Monad.Tools: skipRet :: (Monad m) => m b -> a -> m a
+ Control.Monad.Tools: skipRet :: Monad m => m b -> a -> m a
- Data.List.Tools: isIncludedElem :: (Eq a) => [a] -> [a] -> Bool
+ Data.List.Tools: isIncludedElem :: Eq a => [a] -> [a] -> Bool
Files
- Control/Monad/Tools.hs +9/−0
- yjtools.cabal +1/−1
Control/Monad/Tools.hs view
@@ -6,6 +6,7 @@ , doWhile , for_ , for+, filterM , skipRet ) where @@ -37,6 +38,14 @@ for i test next j act | test i = act i j >>= flip (for (next i) test next) act | otherwise = return j++filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]+filterM _ [] = return []+filterM p (x:xs) = do+ b <- p x+ rs <- filterM p xs+ if b then return $ x:rs+ else return rs skipRet :: Monad m => m b -> a -> m a skipRet p x = p >> return x
yjtools.cabal view
@@ -1,5 +1,5 @@ Name: yjtools-Version: 0.9.6+Version: 0.9.7 Cabal-Version: >= 1.2 Build-Type: Simple License: LGPL