# 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.

Changes in 0.2.4.0: Added a Lift instance that resolves a common overlapping-instance issue in user code.

Changes in 0.2.3.1: Should now build on GHC 7.6

Changes in 0.2.3.0: Added stretched exponential distribution, contributed by Ben Gamari.

Changes in 0.2.2.0: Bug fixes in Data.Random.Distribution.Categorical.

Changes in 0.2.1.1: Changed some one-field data types to newtypes, updated types for GHC 7.4's removal of Eq and Show from the context of Num, and added RVarT versions of random variables in Data.Random.List

## 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 | base (==4.*), erf, erf-native, math-functions, monad-loops (>=0.3.0.1), mtl (>=1 && <3), random-shuffle, random-source (==0.3.*), rvar (==0.2.*), syb, template-haskell, transformers, vector (>=0.7) |

License | PublicDomain |

Author | James Cook <mokus@deepbondi.net> |

Maintainer | James Cook <mokus@deepbondi.net> |

Stability | provisional |

Category | Math |

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

Source repository | head: git clone https://github.com/mokus0/random-fu.git(random-fu) |

Uploaded | Fri Jun 27 16:40:55 UTC 2014 by JamesCook |

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

Downloads | 5841 total (236 in last 30 days) |

Status | Docs available [build log] Successful builds reported [all 1 reports] |

## 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.ChiSquare
- Data.Random.Distribution.Dirichlet
- Data.Random.Distribution.Exponential
- Data.Random.Distribution.Gamma
- Data.Random.Distribution.Multinomial
- Data.Random.Distribution.Normal
- Data.Random.Distribution.Pareto
- Data.Random.Distribution.Poisson
- Data.Random.Distribution.Rayleigh
- Data.Random.Distribution.StretchedExponential
- Data.Random.Distribution.T
- 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.Vector

- 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.2.6.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)

#### Maintainers' corner

For package maintainers and hackage trustees