extra-0.2: Extra functions I use.

Safe HaskellSafe-Inferred

Control.Monad.Extra

Documentation

whenJust :: Applicative m => Maybe a -> (a -> m ()) -> m ()Source

unit :: m () -> m ()Source

partitionM :: Monad m => (a -> m Bool) -> [a] -> m ([a], [a])Source

concatMapM :: Monad m => (a -> m [b]) -> [a] -> m [b]Source

loopM :: Monad m => (a -> m (Either a b)) -> a -> m bSource

whileM :: Monad m => m Bool -> m ()Source

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

notM :: Functor m => m Bool -> m BoolSource

(||^) :: Monad m => m Bool -> m Bool -> m BoolSource

(&&^) :: Monad m => m Bool -> m Bool -> m BoolSource

orM :: Monad m => [m Bool] -> m BoolSource

andM :: Monad m => [m Bool] -> m BoolSource

anyM :: Monad m => (a -> m Bool) -> [a] -> m BoolSource

allM :: Monad m => (a -> m Bool) -> [a] -> m BoolSource

findM :: Monad m => (a -> m Bool) -> [a] -> m (Maybe a)Source

firstJustM :: Monad m => (a -> m (Maybe b)) -> [a] -> m (Maybe b)Source