Control.Monad.Trans.Maybe
The MaybeT
monad transformer extends a monad with the ability to exit
the computation without returning a value.
A sequence of actions produces a value only if all the actions in the sequence do. If one exits, the rest of the sequence is skipped and the composite action exits.
For a variant allowing a range of exception values, see Control.Monad.Trans.Except.
The MaybeT monad transformer
The parameterizable maybe monad, obtained by composing an arbitrary
monad with the Maybe
monad.
Computations are actions that may produce a value or exit.
The return
function yields a computation that produces that
value, while >>=
sequences two subcomputations, exiting if either
computation does.
Instances
Monad transformations
Lifting other operations
liftCallCC :: CallCC m (Maybe a) (Maybe b) -> CallCC (MaybeT m) a b Source #
Lift a callCC
operation to the new monad.
liftCatch :: Catch e m (Maybe a) -> Catch e (MaybeT m) a Source #
Lift a catchE
operation to the new monad.