name: mwc-probability
version: 2.2.0
homepage: http://github.com/jtobin/mwc-probability
license: MIT
license-file: LICENSE
author: Jared Tobin, Marco Zocca
maintainer: jared@jtobin.ca, zocca.marco gmail
category: Math
build-type: Simple
cabal-version: >= 1.10
tested-with: GHC == 8.0.2, GHC == 8.2.2 , GHC == 8.4.2, GHC == 8.6.5
synopsis: Sampling function-based probability distributions.
description:
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]
> fmap succ uniform
.
Sequence distributions together using bind:
.
> -- a beta-binomial compound 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
extra-source-files: README.md
CHANGELOG
Source-repository head
Type: git
Location: http://github.com/jtobin/mwc-probability.git
library
exposed-modules: System.Random.MWC.Probability
default-language: Haskell2010
hs-source-dirs: src
build-depends:
base >= 4.8 && < 6
, containers >= 0.6
, mwc-random > 0.13 && < 0.15
, primitive >= 0.6 && < 1.0
, transformers >= 0.5 && < 1.0