-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | some tools for Monad, List, Tuple and so on. -- -- ifM, whenM, unlessM, doWhile, doWhile_ and so on. @package yjtools @version 0.9.13 module Data.Bool.Tools (&&&, |||) :: Monad m => m Bool -> m Bool -> m Bool whether :: a -> a -> Bool -> a module Data.Function.Tools const2 :: a -> b -> c -> a applyWhen :: Bool -> (a -> a) -> a -> a applyUnless :: Bool -> (a -> a) -> a -> a apply2way :: (a -> b -> c) -> (d -> a) -> (d -> b) -> d -> c module Data.List.Tools takeUntil :: (a -> Bool) -> [a] -> [a] dropUntil :: (a -> Bool) -> [a] -> [a] mulLists :: [[a]] -> [[a]] defaultElem :: a -> [a] -> [a] isIncludedElem :: Eq a => [a] -> [a] -> Bool setAt :: [a] -> Int -> a -> [a] modifyAt :: [a] -> Int -> (a -> a) -> [a] module Control.Applicative.Tools (<.>) :: Functor f => (a -> b) -> (c -> f a) -> c -> f b module Control.Monad.Tools ifM :: Monad m => m Bool -> m a -> m a -> m a whenM, unlessM :: Monad m => m Bool -> m () -> m () doWhile_, doUntil_ :: Monad m => m Bool -> m () doWhile, 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