Module Control.monad.trans.EitherT

Monad transformer for Either

Imports

Table of Content

Definitions

data EitherT l m a

Constructors

EitherT {run ∷ m (l | a)}

Member Functions

runEitherT α β γ → β (α | γ)

access field run

leftMonad m ⇒ l → EitherT l m a

Instances

instance Functor f ⇒ Functor (EitherT l f)

Member Functions

fmapFunctor β ⇒ (γ → δ) → EitherT α β γ → EitherT α β δ
infixl  4
instance MonadAlt m ⇒ MonadAlt (EitherT l m)

Member Functions

<+>MonadAlt β ⇒ EitherT α β γ → EitherT α β γ → EitherT α β γ
infixr  13
<|>MonadAlt β ⇒ EitherT α β γ → EitherT α β γ → EitherT α β γ
infixl  3
pzeroMonadAlt β ⇒ EitherT α β γ
instance MonadIO m ⇒ MonadIO (EitherT l m)

Member Functions

liftIOMonadIO β ⇒ IO γ → EitherT α β γ
instance MonadPlus m ⇒ MonadPlus (EitherT l m)

Member Functions

mplusMonadPlus β ⇒ EitherT α β γ → EitherT α β γ → EitherT α β γ
infixr  13
mzeroMonadPlus β ⇒ EitherT α β γ
instance MonadTrans (EitherT l)

Member Functions

liftMonad γ ⇒ γ β → EitherT α γ β
instance Monad m ⇒ Monad (EitherT l m)

Member Functions

*>Monad β ⇒ EitherT α β γ → EitherT α β δ → EitherT α β δ
infixl  4

inherited from Applicative.*>

<*Monad β ⇒ EitherT α β γ → EitherT α β δ → EitherT α β γ
infixl  4

inherited from Applicative.<*

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

inherited from Monad.<*>

>>Monad β ⇒ EitherT α β γEitherT α β δ → EitherT α β δ
infixl  3

inherited from Monad.>>

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

inherited from Monad.join

pureMonad β ⇒ γ → EitherT α β γ
instance (Monad m, Monoid a) ⇒ Monoid (EitherT l m a)

Member Functions

mappend ∷ (Monad α, Monoid β) ⇒ EitherT γ α β → EitherT γ α β → EitherT γ α β
infixr  13
mconcat ∷ (Monad α, Monoid β) ⇒ [EitherT γ α β]EitherT γ α β

inherited from Monoid.mconcat

mempty ∷ (Monad α, Monoid β) ⇒ EitherT γ α β
mtimes ∷ (Monad α, Monoid β) ⇒ IntEitherT γ α β → EitherT γ α β

inherited from Monoid.mtimes

sconcat ∷ (Monad α, Monoid β) ⇒ [EitherT γ α β]EitherT γ α β

inherited from Semigroup.sconcat

stimes ∷ (Monad α, Monoid β) ⇒ IntEitherT γ α β → EitherT γ α β

inherited from Semigroup.stimes

Functions and Values by Type

α → Bool

EitherT.has$run

EitherT α β γ → β (α | γ)

EitherT.run

m (l | a) → EitherT l m a

EitherT.EitherT

MonadIO β ⇒ IO γ → EitherT α β γ

MonadIO_EitherT.liftIO

Monad m ⇒ l → EitherT l m a

left

(Monad α, Monoid β) ⇒ EitherT γ α β → EitherT γ α β → EitherT γ α β

Monoid_EitherT.mappend

(Monad α, Monoid β) ⇒ [EitherT γ α β] → EitherT γ α β

Monoid_EitherT.sconcat, Monoid_EitherT.mconcat

(Monad α, Monoid β) ⇒ IntEitherT γ α β → EitherT γ α β

Monoid_EitherT.stimes, Monoid_EitherT.mtimes

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

Monad_EitherT.join

Monad β ⇒ γ → EitherT α β γ

Monad_EitherT.pure

Monad γ ⇒ γ β → EitherT α γ β

MonadTrans_EitherT.lift

MonadAlt β ⇒ EitherT α β γ → EitherT α β γ → EitherT α β γ

MonadAlt_EitherT.<+>, MonadAlt_EitherT.<|>

MonadPlus β ⇒ EitherT α β γ → EitherT α β γ → EitherT α β γ

MonadPlus_EitherT.mplus

(Monad α, Monoid β) ⇒ EitherT γ α β

Monoid_EitherT.mempty

MonadAlt β ⇒ EitherT α β γ

MonadAlt_EitherT.pzero

MonadPlus β ⇒ EitherT α β γ

MonadPlus_EitherT.mzero

Functor β ⇒ (γ → δ) → EitherT α β γ → EitherT α β δ

Functor_EitherT.fmap

Monad β ⇒ EitherT α β (γ→δ) → EitherT α β γ → EitherT α β δ

Monad_EitherT.<*>

Monad β ⇒ EitherT α β γ → (γ → EitherT α β δ) → EitherT α β δ

Monad_EitherT.>>=

Monad β ⇒ EitherT α β γ → EitherT α β δ → EitherT α β γ

Monad_EitherT.<*

Monad β ⇒ EitherT α β γ → EitherT α β δ → EitherT α β δ

Monad_EitherT.>>, Monad_EitherT.*>

EitherT α β γ → (β (α | γ)→ε (δ | ζ)) → EitherT δ ε ζ

EitherT.chg$run

EitherT α β γ → ε (δ | ζ) → EitherT δ ε ζ

EitherT.upd$run

Valid HTML 4.01 Strict