State
State monads.
This module is inspired by the paper
Functional Programming with
Overloading and Higher-Order Polymorphism, Mark P Jones
(
http://web.cecs.pdx.edu/~mpj/) Advanced School of Functional
Programming, 1995.
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.
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.
Keeps track of the remaining tests and the results of the performed
tests. As each test is performed, the path is removed and the counts
are updated as appropriate.
State monad for the linear register allocator.
A state monad which is strict in the state s, but lazy in the
value a.
See Note [Strict State monad] for the particular notion of strictness
and implementation details.
This is the Megaparsec's state parametrized over stream type
s and custom error component type e.
Definition of Megaparsec's
State.
A ChaChaPoly1305 State.
The state is immutable, and only new state can be created
The encryption state for RC4
This type is an instance of
ByteArrayAccess for debugging
purpose. Internal layout is architecture dependent, may contain
uninitialized data fragments, and change in future versions. The
bytearray should not be used as input to cryptographic algorithms.
Poly1305 State
This type is an instance of
ByteArrayAccess for debugging
purpose. Internal layout is architecture dependent, may contain
uninitialized data fragments, and change in future versions. The
bytearray should not be used as input to cryptographic algorithms.