effect-stack-0.3: Reducing the pain of transformer stacks with duplicated effects

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Stack.Accum

Documentation

class Monad m => AccumStack m where Source #

Associated Types

type PopAccum m :: * -> * Source #

Methods

liftAccum :: PopAccum m a -> m a Source #

Instances
AccumStack m => AccumStack (MaybeT m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (MaybeT m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (MaybeT m) a -> MaybeT m a Source #

AccumStack m => AccumStack (IdentityT m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (IdentityT m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (IdentityT m) a -> IdentityT m a Source #

AccumStack m => AccumStack (ExceptT e m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (ExceptT e m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (ExceptT e m) a -> ExceptT e m a Source #

AccumStack m => AccumStack (ReaderT r m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (ReaderT r m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (ReaderT r m) a -> ReaderT r m a Source #

AccumStack m => AccumStack (StateT s m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (StateT s m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (StateT s m) a -> StateT s m a Source #

AccumStack m => AccumStack (StateT s m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (StateT s m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (StateT s m) a -> StateT s m a Source #

(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (WriterT w m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (WriterT w m) a -> WriterT w m a Source #

(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (WriterT w m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (WriterT w m) a -> WriterT w m a Source #

(Monad m, Monoid w) => AccumStack (AccumT w m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (AccumT w m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (AccumT w m) a -> AccumT w m a Source #

(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (WriterT w m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (WriterT w m) a -> WriterT w m a Source #

AccumStack m => AccumStack (SelectT r m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (SelectT r m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (SelectT r m) a -> SelectT r m a Source #

AccumStack m => AccumStack (ContT r m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (ContT r m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (ContT r m) a -> ContT r m a Source #

(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (RWST r w s m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (RWST r w s m) a -> RWST r w s m a Source #

(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (RWST r w s m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (RWST r w s m) a -> RWST r w s m a Source #

(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # 
Instance details

Defined in Control.Monad.Stack.Accum

Associated Types

type PopAccum (RWST r w s m) :: Type -> Type Source #

Methods

liftAccum :: PopAccum (RWST r w s m) a -> RWST r w s m a Source #

depthAccum :: forall n m a. AccumConstraints n m => AccumDepth n m a -> m a Source #