 | transformers-0.2.1.0: Concrete functor and monad transformers | Contents | Index |
|
Control.Monad.Trans.Maybe | Portability | portable | Stability | experimental | Maintainer | libraries@haskell.org |
|
|
|
|
|
Description |
The MaybeT monad transformer adds the ability to fail to a monad.
A sequence of actions succeeds, producing a value, only if all the
actions in the sequence are successful. If one fails, the rest of
the sequence is skipped and the composite action fails.
For a variant allowing a range of error values, see
Control.Monad.Trans.Error.
|
|
Synopsis |
|
|
|
|
The MaybeT monad transformer
|
|
newtype MaybeT m a |
The parameterizable maybe monad, obtained by composing an arbitrary
monad with the Maybe monad.
Computations are actions that may produce a value or fail.
The return function yields a successful computation, while >>=
sequences two subcomputations, failing on the first error.
| Constructors | | Instances | |
|
|
mapMaybeT :: (m (Maybe a) -> n (Maybe b)) -> MaybeT m a -> MaybeT n b |
Transform the computation inside a MaybeT.
|
|
Lifting other operations
|
|
liftCallCC :: (((Maybe a -> m (Maybe b)) -> m (Maybe a)) -> m (Maybe a)) -> ((a -> MaybeT m b) -> MaybeT m a) -> MaybeT m a |
Lift a callCC operation to the new monad.
|
|
liftCatch :: (m (Maybe a) -> (e -> m (Maybe a)) -> m (Maybe a)) -> MaybeT m a -> (e -> MaybeT m a) -> MaybeT m a |
Lift a catchError operation to the new monad.
|
|
liftListen :: Monad m => (m (Maybe a) -> m (Maybe a, w)) -> MaybeT m a -> MaybeT m (a, w) |
Lift a listen operation to the new monad.
|
|
liftPass :: Monad m => (m (Maybe a, w -> w) -> m (Maybe a)) -> MaybeT m (a, w -> w) -> MaybeT m a |
Lift a pass operation to the new monad.
|
|
Produced by Haddock version 2.7.2 |