Safe Haskell | None |
---|
A random number effect, using a pure mersenne twister under the hood. This should be plug-and-play with any application making use of extensible effects.
Patches, even for the smallest of documentation bugs, are always welcome!
- data Random
- mkRandom :: Word64 -> Random
- mkRandomIO :: Member (Lift IO) r => Eff r Random
- randomInt :: Member (State Random) r => Eff r Int
- randomInt64 :: Member (State Random) r => Eff r Int64
- randomWord :: Member (State Random) r => Eff r Word
- randomWord64 :: Member (State Random) r => Eff r Word64
- randomDouble :: Member (State Random) r => Eff r Double
Documentation
mkRandomIO :: Member (Lift IO) r => Eff r RandomSource
Create a new random number generator, using the clocktime as the base for
the seed. This must be called from a computation with a lifted base effect
of IO
.
randomInt :: Member (State Random) r => Eff r IntSource
Yield a new Int
value from the generator. The full 64 bits will be used
on a 64 bit machine.
randomInt64 :: Member (State Random) r => Eff r Int64Source
Yield a new Int64
value from the generator.