StateT package:relude

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.
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.
Alias for flip evalStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.
Alias for flip execStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.
Shorter and more readable alias for flip runStateT.
>>> usingStateT 0 $ put 42 >> pure False
(False,42)