| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | ross@soi.city.ac.uk |
| Safe Haskell | Safe-Inferred |
Control.Monad.Trans.Identity
Description
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
newtype IdentityT m a
The trivial monad transformer, which maps a monad to an equivalent monad.
Constructors
| IdentityT | |
Fields
| |
Instances
| MonadTrans IdentityT | |
| Monad m => Monad (IdentityT m) | |
| Functor m => Functor (IdentityT m) | |
| (Monad (IdentityT m), MonadFix m) => MonadFix (IdentityT m) | |
| (Monad (IdentityT m), MonadPlus m) => MonadPlus (IdentityT m) | |
| (Functor (IdentityT m), Applicative m) => Applicative (IdentityT m) | |
| Foldable f => Foldable (IdentityT f) | |
| (Functor (IdentityT f), Foldable (IdentityT f), Traversable f) => Traversable (IdentityT f) | |
| (Applicative (IdentityT m), Alternative m) => Alternative (IdentityT m) | |
| (Monad (IdentityT m), MonadIO m) => MonadIO (IdentityT m) |
mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
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
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
Lift a callCC operation to the new monad.