probability: Probabilistic Functional Programming

[ bsd3, graphics, library, math, monads ] [ Propose Tags ]

The Library allows exact computation with discrete random variables in terms of their distributions by using a monad. The monad is similar to the List monad for non-deterministic computations, but extends the List monad by a measure of probability. Small interface to R plotting.

[Skip to Readme]
Versions [faq] 0.1, 0.2, 0.2.1, 0.2.2,, 0.2.3,, 0.2.4,, 0.2.5,,
Dependencies base (>=1.0 && <5), containers (>=0.1 && <1), random (>=1.0 && <2), special-functors (==1.0.*), transformers (>=0.0.1 && <0.3), utility-ht (>=0.0.6 && <0.1) [details]
License BSD-3-Clause
Author Martin Erwig <>, Steve Kollmansberger
Maintainer Henning Thielemann <>
Category Math, Monads, Graphics
Home page
Source repo head: darcs get
this: darcs get --tag 0.2.3
Uploaded by HenningThielemann at Mon Jan 30 22:29:27 UTC 2012
Distributions FreeBSD:, LTSHaskell:, NixOS:, Stackage:
Downloads 6821 total (236 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2015-06-07 [all 7 reports]


  • Numeric
    • Probability
      • Numeric.Probability.Distribution
      • Example
        • Numeric.Probability.Example.Alarm
        • Numeric.Probability.Example.Barber
        • Numeric.Probability.Example.Bayesian
        • Numeric.Probability.Example.Boys
        • Numeric.Probability.Example.Collection
        • Numeric.Probability.Example.Diagnosis
        • Numeric.Probability.Example.Dice
        • Numeric.Probability.Example.DiceAccum
        • Numeric.Probability.Example.Kruskal
        • Numeric.Probability.Example.MontyHall
        • Numeric.Probability.Example.NBoys
        • Numeric.Probability.Example.Predator
        • Numeric.Probability.Example.Profession
        • Numeric.Probability.Example.Queuing
        • Numeric.Probability.Example.TreeGrowth
      • Numeric.Probability.Expectation
      • Numeric.Probability.Object
      • Numeric.Probability.Percentage
      • Numeric.Probability.Random
      • Numeric.Probability.Shape
      • Numeric.Probability.Simulation
      • Numeric.Probability.Trace
      • Numeric.Probability.Transition
      • Numeric.Probability.Visualize



Choose the new smaller, split-up base package.


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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for probability-0.2.3

[back to package description]
Probabilistic Functional Programming in Haskell

Martin Erwig, Oregon State University,

These files have been tested with GHC 6.4

Core Library files:

Show.hs		Pretty Printing
Probability.hs	Core probabilistic module
Visualize.hs	Visualization system for use with R


Barber.hs		An example of the queueing system
BayesianNetwork.hs	Implementing Bayesian networks
Boys.hs			A statistical examples
NBoys.hs		A generalized version of the previous
Collection.hs		Collections and two examples:
			Marbles and cards
Dice.hs			Rolling dice
MontyHall.hs		The "Monty Hall" Game (statistical)
Predator.hs		Non-probabilistic, demonstrates visualization
TreeGrowth.hs		A simple tree growth example

Visualize output is placed in the file FuSE.R which can be loaded into the 
R statistical program to see visualizations.

Randomized values can be displayed to the console using the printR 
function, which shows the value from a IO monad function.