runState package:random

Runs a monadic generating action in the State monad using a pure pseudo-random number generator.

Examples

>>> import System.Random.Stateful

>>> let pureGen = mkStdGen 137

>>> runStateGen pureGen randomM :: (Int, StdGen)
(7879794327570578227,StdGen {unStdGen = SMGen 11285859549637045894 7641485672361121627})
Runs a monadic generating action in the ST monad using a pure pseudo-random number generator.
Runs a monadic generating action in the ST monad using a pure pseudo-random number generator. Same as runStateGenST, but discards the resulting generator.
Runs a monadic generating action in the StateT monad using a pure pseudo-random number generator.

Examples

>>> import System.Random.Stateful

>>> let pureGen = mkStdGen 137

>>> runStateGenT pureGen randomM :: IO (Int, StdGen)
(7879794327570578227,StdGen {unStdGen = SMGen 11285859549637045894 7641485672361121627})
Runs a monadic generating action in the StateT monad using a pure pseudo-random number generator. Returns only the resulting pseudo-random value.

Examples

>>> import System.Random.Stateful

>>> let pureGen = mkStdGen 137

>>> runStateGenT_ pureGen randomM :: IO Int
7879794327570578227
Runs a monadic generating action in the State monad using a pure pseudo-random number generator. Returns only the resulting pseudo-random value.

Examples

>>> import System.Random.Stateful

>>> let pureGen = mkStdGen 137

>>> runStateGen_ pureGen randomM :: Int
7879794327570578227