The mwc-probability package

[Tags:library, mit]

A simple probability distribution type, where distributions are characterized by sampling functions.

This implementation is a thin layer over mwc-random, which handles RNG state-passing automatically by using a PrimMonad like IO or ST s under the hood.

Examples

Transform a distribution's support while leaving its density structure invariant:

 -- uniform over [0, 1] to uniform over [1, 2]
 succ <$> uniform

Sequence distributions together using bind:

 -- a beta-binomial conjugate distribution
 beta 1 10 >>= binomial 10

Use do-notation to build complex joint distributions from composable, local conditionals:

 hierarchicalModel = do
   [c, d, e, f] <- replicateM 4 $ uniformR (1, 10)
   a <- gamma c d
   b <- gamma e f
   p <- beta a b
   n <- uniformR (5, 10)
   binomial n p

Properties

Versions 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.1.3, 1.2.0, 1.2.1, 1.2.2, 1.3.0
Dependencies base (>4 && <6), mwc-random (>0.13 && <0.14), primitive (>=0.6 && <1.0), transformers (>=0.5 && <1.0) [details]
License MIT
Author Jared Tobin
Maintainer jared@jtobin.ca
Stability Unknown
Category Math
Home page http://github.com/jtobin/mwc-probability
Source repository head: git clone http://github.com/jtobin/mwc-probability.git
Uploaded Sun Dec 4 09:19:39 UTC 2016 by JaredTobin
Distributions LTSHaskell:1.2.2, NixOS:1.3.0, Stackage:1.3.0, Tumbleweed:1.3.0
Downloads 504 total (13 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-12-08 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees