Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Lifting the pass
operation.
- class MonadTrans t => LiftPass t where
- type Pass w m a = m (a, w -> w) -> m a
- defaultLiftPass :: (Monad m, LiftPass n) => (forall x. n m x -> t m x) -> (forall o x. t o x -> n o x) -> Pass w m (StT n a) -> Pass w (t m) a
- module Control.Monad.Trans.Class
Documentation
class MonadTrans t => LiftPass t where Source #
The class of monad transformers capable of lifting pass
.
LiftPass MaybeT Source # | |
Monoid w' => LiftPass (WriterT w') Source # | |
Monoid w' => LiftPass (WriterT w') Source # | |
LiftPass (StateT s) Source # | |
LiftPass (StateT s) Source # | |
LiftPass (IdentityT *) Source # | |
LiftPass (ExceptT e) Source # | |
Monoid w' => LiftPass (WriterT w') Source # | |
LiftPass (ReaderT * r) Source # | |
Monoid w' => LiftPass (RWST r w' s) Source # | |
Monoid w' => LiftPass (RWST r w' s) Source # | |
Monoid w' => LiftPass (RWST r w' s) Source # | |
type Pass w m a = m (a, w -> w) -> m a #
Signature of the pass
operation,
introduced in Control.Monad.Trans.Writer.
Any lifting function liftPass
should satisfy
lift
. liftPass = liftPass .lift
:: (Monad m, LiftPass n) | |
=> (forall x. n m x -> t m x) | Monad constructor |
-> (forall o x. t o x -> n o x) | Monad deconstructor |
-> Pass w m (StT n a) | |
-> Pass w (t m) a |
Default definition for the liftPass
method.
module Control.Monad.Trans.Class