probability-0.2.1: Probabilistic Functional Programming

PortabilityMulti-parameter type class with functional dependency

Numeric.Probability.Object

Description

Abstract interface to probabilistic objects like random generators and probability distributions. It allows to use the same code both for computing complete distributions and for generating random values according to the distribution. The latter one is of course more efficient and may be used for approximation of the distribution by simulation.

Synopsis

Documentation

class Monad obj => C prob obj | obj -> prob whereSource

Methods

fromFrequencies :: [(a, prob)] -> obj aSource

Instances

C Double T 
Fractional prob => C prob (T prob) 

type Spread obj a = [a] -> obj aSource

shape :: (C prob obj, Fractional prob) => (prob -> prob) -> Spread obj aSource

linear :: (C prob obj, Fractional prob) => Spread obj aSource

uniform :: (C prob obj, Fractional prob) => Spread obj aSource

negExp :: (C prob obj, Floating prob) => Spread obj aSource

normal :: (C prob obj, Floating prob) => Spread obj aSource

enum :: (C prob obj, Floating prob) => [Int] -> Spread obj aSource

relative :: (C prob obj, Floating prob) => [prob] -> Spread obj aSource

Give a list of frequencies, they do not need to sum up to 1.