Portability  portable 

Stability  experimental 
Maintainer  libraries@haskell.org 
Declaration of the identity monad transformer.
 newtype IdentityT m a = IdentityT {
 runIdentityT :: m a
 liftCallCC :: (((a > m b) > m a) > m a) > ((a > IdentityT m b) > IdentityT m a) > IdentityT m a
 liftCatch :: (m a > (e > m a) > m a) > IdentityT m a > (e > IdentityT m a) > IdentityT m a
 liftListen :: Monad m => (m a > m (a, w)) > IdentityT m a > IdentityT m (a, w)
 liftLocal :: Monad m => ((r > r) > m a > m a) > (r > r) > IdentityT m a > IdentityT m a
 liftPass :: Monad m => (m (a, w > w) > m a) > IdentityT m (a, w > w) > IdentityT m a
The identity monad transformer
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) 
Lifting other operations
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.
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.
liftListen :: Monad m => (m a > m (a, w)) > IdentityT m a > IdentityT m (a, w)Source
Lift a listen
operation to the new monad.