state package:transformers

Construct a state monad computation from a state transformer function.
Construct a state monad computation from a state transformer function.
Construct a state monad computation from a function. (The inverse of runState.)
State monads, passing an updatable state through a computation. Some computations may not require the full power of state transformers: This version is lazy; for a strict version, see Control.Monad.Trans.State.Strict, which has the same interface.
A state monad parameterized by the type s of the state to carry. The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
A state transformer monad parameterized by:
  • s - The state.
  • m - The inner monad.
The return function leaves the state unchanged, while >>= uses the final state of the first computation as the initial state of the second.
Convert an accumulation (append-only) computation into a fully stateful computation.
Evaluate a state computation with the given initial state and return the final value, discarding the final state.
Evaluate a state computation with the given initial state and return the final value, discarding the final state.
Evaluate a state computation with the given initial state and return the final state, discarding the final value.
Evaluate a state computation with the given initial state and return the final state, discarding the final value.
Map both the return value and final state of a computation using the given function.
Map both the return value and final state of a computation using the given function.
Unwrap a state monad computation as a function. (The inverse of state.)
withState f m executes action m on a state modified by applying f.
withStateT f m executes action m on a state modified by applying f.