data ST s a Source

The strict state-transformer monad. A computation of type ST s a transforms an internal state indexed by s , and returns a value of type a . The s parameter is either

an uninstantiated type variable (inside invocations of runST ), or

), or RealWorld (inside invocations of stToIO ).

It serves to keep the internal states of different invocations of runST separate from each other and from invocations of stToIO .

The >>= and >> operations are strict in the state (though not in values stored in the state). For example,