# The random-fu package

Random number generation based on modeling random
variables in two complementary ways: first, by the
parameters of standard mathematical distributions and,
second, by an abstract type (`RVar`) which can be
composed and manipulated monadically and sampled in
either monadic or "pure" styles.
The primary purpose of this library is to support
defining and sampling a wide variety of high quality
random variables. Quality is prioritized over speed,
but performance is an important goal too.
In my testing, I have found it capable of speed
comparable to other Haskell libraries, but still
a fair bit slower than straight C implementations of
the same algorithms.
Warning to anyone upgrading from "< 0.1": `Discrete`
has been renamed `Categorical`, the entropy source
classes have been redesigned, and many things are no
longer exported from the root module `Data.Random`
(In particular, DevRandom - this is not available on
windows, so it will likely move to its own package
eventually so that client code dependencies on it will
be made explicit).
Support for `base` packages earlier than version 4
(and thus GHC releases earlier than 6.10) has been
dropped, as too many of this package's dependencies do
not support older versions.
The `Data.Random` module itself should now have a
relatively stable interface, but the other modules
are still subject to change. Specifically, I am
considering hiding data constructors for most or all
of the distributions.

## Properties

Versions | 0.0.0.2, 0.0.1.1, 0.0.2.0, 0.0.2.1, 0.0.3, 0.0.3.2, 0.1.0.0, 0.1.3, 0.1.4, 0.2, 0.2.1.0, 0.2.1.1, 0.2.2.0, 0.2.3.0, 0.2.3.1, 0.2.4.0, 0.2.5.0, 0.2.6.0, 0.2.6.1, 0.2.6.2 |
---|---|

Change log | None available |

Dependencies | array, base (==4.*), containers, erf, erf-native, mersenne-random-pure64, monad-loops (>=0.3.0.1), MonadPrompt, mtl (>=1 && <3), mwc-random, random, random-shuffle, stateref (==0.3.*), syb, tagged, template-haskell, vector |

License | PublicDomain |

Author | James Cook <james.cook@usma.edu> |

Maintainer | James Cook <james.cook@usma.edu> |

Stability | provisional |

Category | Math |

Home page | https://github.com/mokus0/random-fu |

Source repository | head: git clone https://github.com/mokus0/random-fu.git -b v0.1-series |

Uploaded | Fri Jun 24 14:52:59 UTC 2011 by JamesCook |

Distributions | LTSHaskell:0.2.6.2, NixOS:0.2.6.2, Stackage:0.2.6.2 |

Downloads | 5806 total (218 in last 30 days) |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Modules

*Data*- Data.Random
- Data.Random.Distribution
- Data.Random.Distribution.Bernoulli
- Data.Random.Distribution.Beta
- Data.Random.Distribution.Binomial
- Data.Random.Distribution.Categorical
- Data.Random.Distribution.Dirichlet
- Data.Random.Distribution.Exponential
- Data.Random.Distribution.Gamma
- Data.Random.Distribution.Multinomial
- Data.Random.Distribution.Normal
- Data.Random.Distribution.Poisson
- Data.Random.Distribution.Rayleigh
- Data.Random.Distribution.Triangular
- Data.Random.Distribution.Uniform
- Data.Random.Distribution.Weibull
- Data.Random.Distribution.Ziggurat

*Internal*- Data.Random.Lift
- Data.Random.List
- Data.Random.RVar
- Data.Random.Sample
- Data.Random.Source

- Data.Random.Distribution

- Data.Random

[Index]

## Flags

Name | Description | Default |
---|---|---|

base4_2 | base-4.2 has an incompatible change in Data.Fixed (HasResolution) | Enabled |

mtl2 | mtl-2 has State, etc., as "type" rather than "newtype" | Enabled |

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

## Downloads

- random-fu-0.1.4.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees