state package:rio

Embed a simple state action into the monad.
Provides reexports of MonadState and related helpers.
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.
Environment values with stateful capabilities to SomeRef
Minimal definition is either both of get and put or just 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 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.