transformers-0.3.0.0: Concrete functor and monad transformers

Portabilityportable
Stabilityexperimental
Maintainer[email protected]
Safe HaskellSafe-Inferred

Control.Monad.Trans.Identity

Contents

Description

The identity monad transformer.

This is useful for functions parameterized by a monad transformer.

Synopsis

The identity monad transformer

newtype IdentityT m a Source

The trivial monad transformer, which maps a monad to an equivalent monad.

Constructors

IdentityT 

Fields

runIdentityT :: m a
 

Instances

MonadTrans IdentityT 
Monad m => Monad (IdentityT m) 
Functor m => Functor (IdentityT m) 
MonadFix m => MonadFix (IdentityT m) 
MonadPlus m => MonadPlus (IdentityT m) 
Applicative m => Applicative (IdentityT m) 
Foldable f => Foldable (IdentityT f) 
Traversable f => Traversable (IdentityT f) 
Alternative m => Alternative (IdentityT m) 
MonadIO m => MonadIO (IdentityT m) 

mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n bSource

Lift a unary operation to the new monad.

Lifting other operations

liftCatch :: (m a -> (e -> m a) -> m a) -> IdentityT m a -> (e -> IdentityT m a) -> IdentityT m aSource

Lift a catchError operation to the new monad.

liftCallCC :: (((a -> m b) -> m a) -> m a) -> ((a -> IdentityT m b) -> IdentityT m a) -> IdentityT m aSource

Lift a callCC operation to the new monad.