runST

runST :: (forall s. ST s a) -> a
base Control.Monad.ST, base Control.Monad.ST.Lazy
Return the value computed by a state transformer computation. The forall ensures that the internal state used by the ST computation is inaccessible to the rest of the program.
runSTArray :: Ix i => (forall s. ST s (STArray s i e)) -> Array i e
array Data.Array.ST, array Data.Array.ST.Safe
A safe way to create and work with a mutable array before returning an immutable array for later perusal. This function avoids copying the array before returning it - it uses unsafeFreeze internally, but this wrapper is a safe interface to that function.
runSTGen :: (forall s. Gen (ST s a)) -> Gen a
QuickCheck Test.QuickCheck.Monadic
runSTUArray :: Ix i => (forall s. ST s (STUArray s i e)) -> UArray i e
array Data.Array.ST, array Data.Array.ST.Safe
A safe way to create and work with an unboxed mutable array before returning an immutable array for later perusal. This function avoids copying the array before returning it - it uses unsafeFreeze internally, but this wrapper is a safe interface to that function.
runState :: State s a -> s -> (a, s)
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict, mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
Unwrap a state monad computation as a function. (The inverse of state.)
runStateT :: StateT s a -> s -> m (a, s)
mtl Control.Monad.State.Lazy, mtl Control.Monad.State.Strict
runStateT :: StateT s m a -> s -> m (a, s)
transformers Control.Monad.Trans.State.Lazy, transformers Control.Monad.Trans.State.Strict