Module Control.monad.trans.MaybeT

Monad transformer for Maybe

Imports

Table of Content

Definitions

data 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 Applicative.pure function yields a successful computation, while (>>=) sequences two subcomputations, failing on the first error.

Constructors

MaybeT {run ∷ m (Maybe a)}

Member Functions

runMaybeT α β → α (Maybe β)

access field run

mapMaybeT ∷ (m (Maybe a) → n (Maybe b)) → MaybeT m a → MaybeT n b

Transform the computation inside a MaybeT.

Instances

instance Monad m ⇒ Alt (MaybeT m)

Member Functions

<|>Monad α ⇒ MaybeT α β → MaybeT α β → MaybeT α β
infixl  3
instance Functor m ⇒ Functor (MaybeT m)

Member Functions

fmapFunctor α ⇒ (β → γ) → MaybeT α β → MaybeT α γ
infixl  4
instance Monad m ⇒ MonadFail (MaybeT m)

Member Functions

failMonad α ⇒ StringMaybeT α β
instance MonadIO m ⇒ MonadIO (MaybeT m)

Member Functions

liftIOMonadIO α ⇒ IO β → MaybeT α β
instance Monad m ⇒ MonadPlus (MaybeT m)

Member Functions

mplusMonad α ⇒ MaybeT α β → MaybeT α β → MaybeT α β
infixr  13
mzeroMonad α ⇒ MaybeT α β
instance MonadTrans MaybeT

Member Functions

liftMonad β ⇒ β α → MaybeT β α
instance Monad m ⇒ Monad (MaybeT m)

Member Functions

*>Monad α ⇒ MaybeT α β → MaybeT α γ → MaybeT α γ
infixl  4

inherited from Applicative.*>

<*Monad α ⇒ MaybeT α β → MaybeT α γ → MaybeT α β
infixl  4

inherited from Applicative.<*

<*>Monad α ⇒ MaybeT α (β→γ) → MaybeT α β → MaybeT α γ
infixl  4

inherited from Monad.<*>

>>Monad α ⇒ MaybeT α β → MaybeT α γ → MaybeT α γ
infixl  3

inherited from Monad.>>

>>=Monad α ⇒ MaybeT α β → (β → MaybeT α γ) → MaybeT α γ
infixl  3
joinMonad α ⇒ MaybeT α (MaybeT α β) → MaybeT α β

inherited from Monad.join

pureMonad α ⇒ β → MaybeT α β

Functions and Values by Type

α → Bool

MaybeT.has$run

MaybeT α β → α (Maybe β)

MaybeT.run

m (Maybe a) → MaybeT m a

MaybeT.MaybeT

MonadIO α ⇒ IO β → MaybeT α β

MonadIO_MaybeT.liftIO

Monad α ⇒ MaybeT α (MaybeT α β) → MaybeT α β

Monad_MaybeT.join

Monad α ⇒ MaybeT α β → MaybeT α β → MaybeT α β

Alt_MaybeT.<|>, MonadPlus_MaybeT.mplus

Monad α ⇒ StringMaybeT α β

MonadFail_MaybeT.fail

Monad α ⇒ β → MaybeT α β

Monad_MaybeT.pure

Monad β ⇒ β α → MaybeT β α

MonadTrans_MaybeT.lift

Monad α ⇒ MaybeT α β

MonadPlus_MaybeT.mzero

Functor α ⇒ (β → γ) → MaybeT α β → MaybeT α γ

Functor_MaybeT.fmap

Monad α ⇒ MaybeT α (β→γ) → MaybeT α β → MaybeT α γ

Monad_MaybeT.<*>

Monad α ⇒ MaybeT α β → (β → MaybeT α γ) → MaybeT α γ

Monad_MaybeT.>>=

Monad α ⇒ MaybeT α β → MaybeT α γ → MaybeT α β

Monad_MaybeT.<*

Monad α ⇒ MaybeT α β → MaybeT α γ → MaybeT α γ

Monad_MaybeT.>>, Monad_MaybeT.*>

(m (Maybe a) → n (Maybe b)) → MaybeT m a → MaybeT n b

mapMaybeT

MaybeT α β → (α (Maybe β)→γ (Maybe δ)) → MaybeT γ δ

MaybeT.chg$run

MaybeT α β → γ (Maybe δ) → MaybeT γ δ

MaybeT.upd$run

Valid HTML 4.01 Strict