|
Data.Random.Source.StdGen |
|
|
|
Synopsis |
|
|
|
Documentation |
|
|
|
|
|
|
|
|
Given a mutable reference to a RandomGen generator, we can make a
RandomSource usable in any monad in which the reference can be modified.
For example, if x :: TVar StdGen, getRandomByteFromRandomGenRef x can be
used as a RandomSource in IO, STM, or any monad which is an instance
of MonadIO. It's generally probably better to use
getRandomWordFromRandomGenRef though, as this one is likely to throw
away a lot of perfectly good entropy. Better still is to use these 3 functions
together to create a RandomSource instance for the reference you're using,
if one does not already exist.
|
|
|
|
|
|
|
Similarly, getRandomWordFromRandomGenState x can be used in any "state"
monad in the mtl sense whose state is a RandomGen generator.
Additionally, the standard mtl state monads have MonadRandom instances
which do precisely that, allowing an easy conversion of RVars and
other Distribution instances to "pure" random variables.
|
|
|
|
|
|
Produced by Haddock version 2.4.2 |