Safe Haskell | None |
---|---|
Language | Haskell2010 |
Control.Monad.Stack.Accum
Documentation
class Monad m => AccumStack (m :: Type -> Type) where Source #
Instances
AccumStack m => AccumStack (MaybeT m) Source # | |
(Monad m, Monoid w) => AccumStack (AccumT w m) Source # | |
AccumStack m => AccumStack (ExceptT e m) Source # | |
AccumStack m => AccumStack (IdentityT m) Source # | |
AccumStack m => AccumStack (ReaderT r m) Source # | |
AccumStack m => AccumStack (SelectT r m) Source # | |
AccumStack m => AccumStack (StateT s m) Source # | |
AccumStack m => AccumStack (StateT s m) Source # | |
(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # | |
(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # | |
(AccumStack m, Monoid w) => AccumStack (WriterT w m) Source # | |
AccumStack m => AccumStack (ContT r m) Source # | |
(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # | |
(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # | |
(AccumStack m, Monoid w) => AccumStack (RWST r w s m) Source # | |
type AccumDepth (n :: Nat) (m :: Type -> Type) = IteratePop n AccumT m Source #
type AccumConstraints (n :: Nat) (m :: Type -> Type) = (KnownNat n, StackConstraints n AccumT AccumStack m) Source #
depthAccum :: forall (n :: Nat) m a. AccumConstraints n m => AccumDepth n m a -> m a Source #