Copyright  (c) 2007 Magnus Therning 

License  BSDstyle (see the file LICENSE) 
Maintainer  ross@soi.city.ac.uk 
Stability  experimental 
Portability  portable 
Safe Haskell  SafeInferred 
Language  Haskell98 
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  
Alternative m => Alternative (IdentityT m)  
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)  
MonadIO m => MonadIO (IdentityT m) 
mapIdentityT :: (m a > n b) > IdentityT m a > IdentityT n b Source
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 a Source
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 a Source
Lift a callCC
operation to the new monad.