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