record StateT : Type -> (Type -> Type) -> Type -> Type
A monad transformer extending an inner monad `m` with state `stateType`.
Updates to the state are applied in the order as the sequence of actions.
Totality: total
Visibility: public export
Constructor: ST : (stateType -> m (stateType, a)) -> StateT stateType m a
Projection: .runStateT' : StateT stateType m a -> stateType -> m (stateType, a)
Hints:
(Monad f, Alternative f) => Alternative (StateT st f)
Monad f => Applicative (StateT stateType f)
Functor f => Functor (StateT stateType f)
HasIO m => HasIO (StateT stateType m)
Monad m => Monad (StateT stateType m)
MonadError e m => MonadError e (StateT r m)
MonadReader r m => MonadReader r (StateT s m)
Monad m => MonadState stateType (StateT stateType m)
MonadTrans (StateT stateType)
MonadWriter w m => MonadWriter w (StateT s m)
.runStateT' : StateT stateType m a -> stateType -> m (stateType, a)
- Totality: total
Visibility: public export runStateT' : StateT stateType m a -> stateType -> m (stateType, a)
- Totality: total
Visibility: public export runStateT : stateType -> StateT stateType m a -> m (stateType, a)
Unwrap and apply a StateT monad computation.
Totality: total
Visibility: public exportevalStateT : Functor m => stateType -> StateT stateType m a -> m a
Unwrap and apply a StateT monad computation, but discard the final state.
Totality: total
Visibility: public exportexecStateT : Functor m => stateType -> StateT stateType m a -> m stateType
Unwrap and apply a StateT monad computation, but discard the resulting value.
Totality: total
Visibility: public exportmapStateT : (m (s, a) -> n (s, b)) -> StateT s m a -> StateT s n b
Map both the return value and final state of a computation using
the given function.
Totality: total
Visibility: public exportState : Type -> Type -> Type
The State monad. See the MonadState interface
Totality: total
Visibility: public exportrunState : stateType -> State stateType a -> (stateType, a)
Unwrap and apply a State monad computation.
Totality: total
Visibility: public exportevalState : stateType -> State stateType a -> a
Unwrap and apply a State monad computation, but discard the final state.
Totality: total
Visibility: public exportexecState : stateType -> State stateType a -> stateType
Unwrap and apply a State monad computation, but discard the resulting value.
Totality: total
Visibility: public exportmapState : ((s, a) -> (s, b)) -> State s a -> State s b
Map both the return value and final state of a computation using
the given function.
Totality: total
Visibility: public export