transformers-lift-0.1.0.0: Ad-hoc type classes for lifting

Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Trans.Lift.Pass

Description

Lifting the pass operation.

Synopsis

Documentation

class MonadTrans t => LiftPass t where Source

The class of monad transformers capable of lifting pass.

Methods

liftPass :: Monad m => Pass w m (StT t a) -> Pass w (t m) a Source

Lift the pass operation. Should satisfy the uniformity property

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

defaultLiftPass Source

Arguments

:: (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.