probability-0.2.5.1: Probabilistic Functional Programming

Safe HaskellSafe
LanguageHaskell98

Numeric.Probability.Random

Contents

Description

Randomized values

Synopsis

random generator

newtype T a #

Random values

Constructors

Cons 

Fields

Instances

Monad T # 

Methods

(>>=) :: T a -> (a -> T b) -> T b #

(>>) :: T a -> T b -> T b #

return :: a -> T a #

fail :: String -> T a #

Functor T # 

Methods

fmap :: (a -> b) -> T a -> T b #

(<$) :: a -> T b -> T a #

Applicative T # 

Methods

pure :: a -> T a #

(<*>) :: T (a -> b) -> T a -> T b #

liftA2 :: (a -> b -> c) -> T a -> T b -> T c #

(*>) :: T a -> T b -> T b #

(<*) :: T a -> T b -> T a #

C T # 

Methods

(~.) :: (Fractional prob, Ord prob, Random prob, Ord a) => Int -> (a -> T a) -> Transition prob a #

(~..) :: (Fractional prob, Ord prob, Random prob, Ord a) => (Int, Int) -> (a -> T a) -> RExpand prob a #

(~*.) :: (Fractional prob, Ord prob, Random prob, Ord a) => (Int, Int) -> (a -> T a) -> Transition prob a #

C Double T # 

Methods

fromFrequencies :: [(a, Double)] -> T a #

randomR :: Random a => (a, a) -> T a #

run :: T a -> IO a #

Run random action in IO monad.

runSeed :: StdGen -> T a -> a #

Run random action without IO using a seed.

print :: Show a => T a -> IO () #

pick :: (Num prob, Ord prob, Random prob) => T prob a -> T a #

random distribution

type Distribution prob a = T (T prob a) #

Randomized distribution

above :: (Num prob, Ord prob, Ord a) => prob -> Distribution prob a -> Distribution prob (Select a) #

below :: (Num prob, Ord prob, Ord a) => prob -> Distribution prob a -> Distribution prob (Select a) #

dist :: (Fractional prob, Ord a) => [T a] -> Distribution prob a #

dist converts a list of randomly generated values into a distribution by taking equal weights for all values. Thus dist (replicate n rnd) simulates rnd n times and returns an estimation of the distribution represented by rnd.

Randomized changes

type Change a = a -> T a #

random change

change :: (Num prob, Ord prob, Random prob) => T prob a -> Change a #

Randomized transitions

type Transition prob a = a -> Distribution prob a #

random transition

type ApproxDist a = T [a] #