Lazy -containers +base

module Control.Monad.ST.Lazy
base Control.Monad.ST.Lazy
This module presents an identical interface to Control.Monad.ST, except that the monad delays evaluation of state operations until a value depending on them is required.
module Data.STRef.Lazy
base Data.STRef.Lazy
Mutable references in the lazy ST monad.
lazy :: a -> a
base GHC.Exts
The call '(lazy e)' means the same as e, but lazy has a magical strictness property: it is lazy in its first argument, even though its semantics is strict.
lazyToStrictST :: ST s a -> ST s a
base Control.Monad.ST.Lazy
Convert a lazy ST computation into a strict one.
strictToLazyST :: ST s a -> ST s a
base Control.Monad.ST.Lazy
Convert a strict ST computation into a lazy one. The strict state thread passed to strictToLazyST is not performed until the result of the lazy state thread it returns is demanded.