Portability  portable 

Stability  experimental 
Maintainer  ross@soi.city.ac.uk 
The identity monad transformer.
This is useful for functions parameterized by a monad transformer.
 newtype IdentityT m a = IdentityT {
 runIdentityT :: m a
 mapIdentityT :: (m a > n b) > IdentityT m a > IdentityT n b
 liftCatch :: (m a > (e > m a) > m a) > IdentityT m a > (e > IdentityT m a) > IdentityT m a
 liftCallCC :: (((a > m b) > m a) > m a) > ((a > IdentityT m b) > IdentityT m a) > IdentityT m a
The identity monad transformer
The trivial monad transformer, which maps a monad to an equivalent monad.
IdentityT  

MonadTrans IdentityT  
Monad m => Monad (IdentityT m)  
Functor m => Functor (IdentityT m)  
MonadPlus m => MonadPlus (IdentityT m)  
Applicative m => Applicative (IdentityT m)  
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.