Control.Monad.Trans.Compose

mmorph-1.0.6: Monad morphisms

Safe Haskell | Safe
Language | Haskell98

Control.Monad.Trans.Compose

Contents

- ComposeT

Description

Composition of monad transformers. A higher-order version of Data.Functor.Compose.

Synopsis

- newtype ComposeT f g m a = ComposeT {
  - getComposeT :: f (g m) a
  }
- mapComposeT :: (f (g m) a -> p (q n) b) -> ComposeT f g m a -> ComposeT p q n b

# ComposeT

newtype ComposeT f g m a infixr 9

Composition of monad transformers.

Constructors

ComposeT infixr 9 |
Fields getComposeT :: f (g m) a

Instances

MonadRWS r w s (f (g m)) => MonadRWS r w s (ComposeT f g m) |
MonadError e (f (g m)) => MonadError e (ComposeT f g m) |
MonadReader r (f (g m)) => MonadReader r (ComposeT f g m) |
MonadState s (f (g m)) => MonadState s (ComposeT f g m) |
MonadWriter w (f (g m)) => MonadWriter w (ComposeT f g m) |
(MFunctor f, MonadTrans f, MonadTrans g) => MonadTrans (ComposeT f g) |
Monad (f (g m)) => Monad (ComposeT f g m) |
Functor (f (g m)) => Functor (ComposeT f g m) |
Applicative (f (g m)) => Applicative (ComposeT f g m) |
Foldable (f (g m)) => Foldable (ComposeT f g m) |
Traversable (f (g m)) => Traversable (ComposeT f g m) |
Alternative (f (g m)) => Alternative (ComposeT f g m) |
MonadPlus (f (g m)) => MonadPlus (ComposeT f g m) |
MonadIO (f (g m)) => MonadIO (ComposeT f g m) |
MonadCont (f (g m)) => MonadCont (ComposeT f g m) |
Eq (f (g m) a) => Eq (ComposeT f g m a) |
Ord (f (g m) a) => Ord (ComposeT f g m a) |
Read (f (g m) a) => Read (ComposeT f g m a) |
Show (f (g m) a) => Show (ComposeT f g m a) |

mapComposeT :: (f (g m) a -> p (q n) b) -> ComposeT f g m a -> ComposeT p q n b

Transform the computation inside a `ComposeT`.