Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
FIXME: There is a lot of duplication of standard library tools in here.
- useWhen :: Alternative f => a -> Bool -> f a
- thenUse :: Alternative f => Bool -> a -> f a
- unlessUse :: Alternative f => Bool -> a -> f a
- thenReturn :: (Applicative m, Alternative f) => Bool -> m a -> m (f a)
- unlessReturn :: (Applicative m, Alternative f) => Bool -> m a -> m (f a)
- rightJust :: Either a b -> Maybe b
- fromMaybeM :: Monad m => m a -> Maybe a -> m a
- orElseM :: Monad m => Maybe a -> m (Maybe a) -> m (Maybe a)
- flatMapM :: Monad m => (a -> m (Maybe b)) -> Maybe a -> m (Maybe b)
- groupTuplesBy :: (a -> a -> Bool) -> [(a, b)] -> [(a, [b])]
- mergeBy :: (a -> a -> Ordering) -> [a] -> [a] -> [a]
Documentation
useWhen :: Alternative f => a -> Bool -> f a Source #
flip '(?>)'
thenUse :: Alternative f => Bool -> a -> f a Source #
'($>)' . guard
unlessUse :: Alternative f => Bool -> a -> f a Source #
'(?>)' . not
thenReturn :: (Applicative m, Alternative f) => Bool -> m a -> m (f a) Source #
liftM . (?>)
unlessReturn :: (Applicative m, Alternative f) => Bool -> m a -> m (f a) Source #
'(?$>)' . not
fromMaybeM :: Monad m => m a -> Maybe a -> m a Source #
groupTuplesBy :: (a -> a -> Bool) -> [(a, b)] -> [(a, [b])] Source #