hakaru-0.3.0: A probabilistic programming language

Safe HaskellNone
LanguageHaskell2010

Language.Hakaru.Runtime.Prelude

Documentation

type family MinBoxVec (v1 :: * -> *) (v2 :: * -> *) :: * -> * Source #

type family MayBoxVec a :: * -> * Source #

Instances

lam :: (a -> b) -> a -> b Source #

app :: (a -> b) -> a -> b Source #

let_ :: a -> (a -> b) -> b Source #

ann_ :: a -> b -> b Source #

newtype Measure a Source #

Constructors

Measure 

Fields

Instances

Monad Measure Source # 

Methods

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

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

return :: a -> Measure a #

fail :: String -> Measure a #

Functor Measure Source # 

Methods

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

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

Applicative Measure Source # 

Methods

pure :: a -> Measure a #

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

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

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

plate :: Vector (MayBoxVec a) a => Int -> (Int -> Measure a) -> Measure (MayBoxVec a a) Source #

pair :: a -> b -> (a, b) Source #

unit :: () Source #

data Pattern Source #

Constructors

PVar 
PWild 

newtype Branch a b Source #

Constructors

Branch 

Fields

extractBool :: Bool -> a -> Bool -> Maybe a Source #

ppair :: Pattern -> Pattern -> (x -> y -> b) -> Branch (x, y) b Source #

case_ :: a -> [Branch a b] -> b Source #

branch :: (c -> Branch a b) -> c -> Branch a b Source #

dirac :: a -> Measure a Source #

abs_ :: Num a => a -> a Source #

array :: Vector (MayBoxVec a) a => Int -> (Int -> a) -> MayBoxVec a a Source #

(!) :: Vector (MayBoxVec a) a => MayBoxVec a a -> Int -> a Source #

product :: Num a => Int -> Int -> (Int -> a) -> a Source #

summate :: Num a => Int -> Int -> (Int -> a) -> a Source #

run :: Show a => GenIO -> Measure a -> IO () Source #

iterateM_ :: Monad m => (a -> m a) -> a -> m b Source #

withPrint :: Show a => (a -> IO b) -> a -> IO b Source #