Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

## Synopsis

- boolToMaybe :: Bool -> a -> Maybe a
- unionMaybeWith :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a
- unionsMaybeWith :: (a -> a -> a) -> [Maybe a] -> Maybe a
- unzipMaybe :: Maybe (a, b) -> (Maybe a, Maybe b)
- filterMaybe :: (a -> Bool) -> a -> Maybe a
- forMaybe :: [a] -> (a -> Maybe b) -> [b]
- caseMaybe :: Maybe a -> b -> (a -> b) -> b
- ifJust :: Maybe a -> (a -> b) -> b -> b
- maybeM :: Monad m => m b -> (a -> m b) -> m (Maybe a) -> m b
- fromMaybeM :: Monad m => m a -> m (Maybe a) -> m a
- caseMaybeM :: Monad m => m (Maybe a) -> m b -> (a -> m b) -> m b
- ifJustM :: Monad m => m (Maybe a) -> (a -> m b) -> m b -> m b
- whenJust :: Monad m => Maybe a -> (a -> m ()) -> m ()
- whenNothing :: Monad m => Maybe a -> m () -> m ()
- whenJustM :: Monad m => m (Maybe a) -> (a -> m ()) -> m ()
- whenNothingM :: Monad m => m (Maybe a) -> m () -> m ()
- allJustM :: Monad m => [m (Maybe a)] -> m (Maybe [a])
- module Data.Maybe

# Documentation

unionMaybeWith :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a Source #

`unionWith`

for collections of size <= 1.

unionsMaybeWith :: (a -> a -> a) -> [Maybe a] -> Maybe a Source #

`unionsWith`

for collections of size <= 1.

filterMaybe :: (a -> Bool) -> a -> Maybe a Source #

Filtering a singleton list.

filterMaybe p a =`listToMaybe`

(`filter`

p [a])

forMaybe :: [a] -> (a -> Maybe b) -> [b] Source #

Version of `mapMaybe`

with different argument ordering.

caseMaybeM :: Monad m => m (Maybe a) -> m b -> (a -> m b) -> m b Source #

ifJustM :: Monad m => m (Maybe a) -> (a -> m b) -> m b -> m b Source #

`caseMaybeM`

with flipped branches.

whenJustM :: Monad m => m (Maybe a) -> (a -> m ()) -> m () Source #

`caseMaybeM`

without the `Nothing`

case.

whenNothingM :: Monad m => m (Maybe a) -> m () -> m () Source #

`caseMaybeM`

without the `Just`

case.

allJustM :: Monad m => [m (Maybe a)] -> m (Maybe [a]) Source #

Lazy version of `allJust . sequence`

.
(`allJust = mapM`

for the `Maybe`

monad.)
Only executes monadic effect while `isJust`

.

module Data.Maybe