name: random
description: This package provides basic pseudo-random number generation, including the
ability to split random number generators.

In pure code, use System.Random.uniform and System.Random.uniformR from
System.Random to generate pseudo-random numbers with a pure pseudo-random
number generator like System.Random.StdGen.

As an example, here is how you can simulate rolls of a six-sided die using
System.Random.uniformR:

See System.Random for more details.

In monadic code, use System.Random.Stateful.uniformM and
System.Random.Stateful.uniformRM from System.Random.Stateful to generate
pseudo-random numbers with a monadic pseudo-random number generator, or
using a monadic adapter.

As an example, here is how you can simulate rolls of a six-sided die using
System.Random.Stateful.uniformRM:

The monadic adapter System.Random.Stateful.runStateGen_ is used here to lift
the pure pseudo-random number generator pureGen into the
System.Random.Stateful.StatefulGen context.

The monadic interface can also be used with existing monadic pseudo-random
number generators. In this example, we use the one provided in the
mwc-random package:

See System.Random.Stateful for more details.
license_spdx: BSD-3-Clause
version: 1.0.1.3
spec_version: 1.0
download_url: http://hackage.haskell.org/package/random-1.0.1.3/random-1.0.1.3.tar.gz
news_url: https://libraries.io/hackage/random/versions.atom
date: 2015-01-26
about_resource: NONE
libraries_io_url: https://libraries.io/hackage/random?number=1.0.1.3
