Modulemmorph-1.2.2
Control.Monad.Morph
- 3 classes
- 6 values
- Packagemmorph-1.2.2
- Exports9
- LicenceBSD-3-Clause
- SourceClass.hs
Instances16MFunctor, …
MFunctor LiftDefined in mmorph-1.2.2 · Control.Monad.MorphMFunctor MaybeTDefined in mmorph-1.2.2 · Control.Monad.MorphMFunctor BackwardsDefined in mmorph-1.2.2 · Control.Monad.MorphMFunctor IdentityTDefined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (AccumT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (ExceptT e)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (ReaderT r)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (StateT s)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (StateT s)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (WriterT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (WriterT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (Product f)Defined in mmorph-1.2.2 · Control.Monad.Morph(MFunctor f, MFunctor g, forall (m :: Type -> Type). Monad m => Monad (g m)) => MFunctor (ComposeT f g)Defined in mmorph-1.2.2 · Control.Monad.Trans.ComposeFunctor f => MFunctor (Compose f)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (RWST r w s)Defined in mmorph-1.2.2 · Control.Monad.MorphMFunctor (RWST r w s)Defined in mmorph-1.2.2 · Control.Monad.Morph
Instances7MMonad, …
MMonad MaybeTDefined in mmorph-1.2.2 · Control.Monad.MorphMonoid w => MMonad (AccumT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMonoid w => MMonad (WriterT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMonoid w => MMonad (WriterT w)Defined in mmorph-1.2.2 · Control.Monad.MorphMMonad IdentityTDefined in mmorph-1.2.2 · Control.Monad.MorphMMonad (ExceptT e)Defined in mmorph-1.2.2 · Control.Monad.MorphMMonad (ReaderT r)Defined in mmorph-1.2.2 · Control.Monad.Morph
class
class (forall (m :: Type -> Type). Monad m => Monad (t m)) => MonadTrans (t :: (Type -> Type) -> Type -> Type) whereThe class of monad transformers.
For any monad m, the result t m should also be a monad,
and lift should be a monad transformation from m to t m,
i.e. it should satisfy the following laws:
Since 0.6.0.0 and for GHC 8.6 and later, the requirement that t m
be a Monad is enforced by the implication constraint
forall m. Monad m => Monad (t m) enabled by the
QuantifiedConstraints extension.
Ambiguity error with GHC 9.0 to 9.2.2
These versions of GHC have a bug (https://gitlab.haskell.org/ghc/ghc/-/issues/20582) which causes constraints like
(MonadTrans t, forall m. Monad m => Monad (t m)) => ...
to be reported as ambiguous. For transformers 0.6 and later, this can be fixed by removing the second constraint, which is implied by the first.
Instances16MonadTrans, …
MonadTrans MaybeTDefined in transformers-0.6.3.0 · Control.Monad.Trans.MaybeMonoid w => MonadTrans (AccumT w)Defined in transformers-0.6.3.0 · Control.Monad.Trans.AccumMonoid w => MonadTrans (WriterT w)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.LazyMonoid w => MonadTrans (WriterT w)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.StrictMonadTrans IdentityTDefined in transformers-0.6.3.0 · Control.Monad.Trans.IdentityMonadTrans (ExceptT e)Defined in transformers-0.6.3.0 · Control.Monad.Trans.ExceptMonadTrans (ReaderT r)Defined in transformers-0.6.3.0 · Control.Monad.Trans.ReaderMonadTrans (SelectT r)Defined in transformers-0.6.3.0 · Control.Monad.Trans.SelectMonadTrans (StateT s)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.LazyMonadTrans (StateT s)Defined in transformers-0.6.3.0 · Control.Monad.Trans.State.StrictMonadTrans (WriterT w)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Writer.CPSMonadTrans (ContT r)Defined in transformers-0.6.3.0 · Control.Monad.Trans.Cont(MFunctor f, MonadTrans f, MonadTrans g) => MonadTrans (ComposeT f g)Defined in mmorph-1.2.2 · Control.Monad.Trans.ComposeMonoid w => MonadTrans (RWST r w s)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.LazyMonoid w => MonadTrans (RWST r w s)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.StrictMonadTrans (RWST r w s)Defined in transformers-0.6.3.0 · Control.Monad.Trans.RWS.CPS