packages feed

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 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