yjtools-0.9.18: some tools for Monad, List, Tuple and so on.

Safe HaskellSafe
LanguageHaskell98

Control.Monad.Tools

Documentation

ifM :: Monad m => m Bool -> m a -> m a -> m a #

whenM :: Monad m => m Bool -> m () -> m () #

unlessM :: Monad m => m Bool -> m () -> m () #

doWhile_ :: Monad m => m Bool -> m () #

doWhile :: Monad m => a -> (a -> m (a, Bool)) -> m a #

doUntil_ :: Monad m => m Bool -> m () #

doUntil :: Monad m => a -> (a -> m (a, Bool)) -> m a #

for_ :: Monad m => a -> (a -> Bool) -> (a -> a) -> (a -> m b) -> m () #

for :: Monad m => a -> (a -> Bool) -> (a -> a) -> b -> (a -> b -> m b) -> m b #

filterM :: Monad m => (a -> m Bool) -> [a] -> m [a] #

repeatM :: Monad m => m a -> m [a] #

repeatM_ :: Monad m => m a -> m () #

skipRet :: Monad m => m b -> a -> m a #