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

Safe HaskellSafe
LanguageHaskell2010

Control.Monad.Trans.Lift.Local

Description

Lifting the local operation.

Synopsis

Documentation

class MonadTrans t => LiftLocal t where Source #

The class of monad transformers capable of lifting local.

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (t m) a Source #

Lift the local operation.

Instances
LiftLocal MaybeT Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (MaybeT m) a Source #

LiftLocal ListT Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (ListT m) a Source #

Monoid w => LiftLocal (WriterT w) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (WriterT w m) a Source #

Monoid w => LiftLocal (AccumT w) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (AccumT w m) a Source #

Monoid w => LiftLocal (WriterT w) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (WriterT w m) a Source #

LiftLocal (StateT s) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (StateT s m) a Source #

LiftLocal (StateT s) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (StateT s m) a Source #

LiftLocal (IdentityT :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (IdentityT m) a Source #

LiftLocal (ExceptT e) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (ExceptT e m) a Source #

Monoid w => LiftLocal (WriterT w) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r -> (forall a. Local r m a) -> forall a. Local r (WriterT w m) a Source #

LiftLocal (ReaderT r :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r0 -> (forall a. Local r0 m a) -> forall a. Local r0 (ReaderT r m) a Source #

LiftLocal (ContT r) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r0 -> (forall a. Local r0 m a) -> forall a. Local r0 (ContT r m) a Source #

Monoid w => LiftLocal (RWST r w s) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r0 -> (forall a. Local r0 m a) -> forall a. Local r0 (RWST r w s m) a Source #

Monoid w => LiftLocal (RWST r w s) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r0 -> (forall a. Local r0 m a) -> forall a. Local r0 (RWST r w s m) a Source #

Monoid w => LiftLocal (RWST r w s) Source # 
Instance details

Defined in Control.Monad.Trans.Lift.Local

Methods

liftLocal :: Monad m => m r0 -> (forall a. Local r0 m a) -> forall a. Local r0 (RWST r w s m) a Source #

type Local r m a = (r -> r) -> m a -> m a Source #

Signature of the local operation, introduced in Control.Monad.Trans.Reader.

defaultLiftLocal Source #

Arguments

:: (Monad m, LiftLocal n) 
=> (forall x. n m x -> t m x)

Monad constructor

-> (forall o x. t o x -> n o x)

Monad deconstructor

-> m r 
-> (forall a. Local r m a) 
-> forall a. Local r (t m) a 

Default definition for the liftLocal method.