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