prob-fx-0.1.0.2: A library for modular probabilistic modelling
Safe HaskellNone
LanguageHaskell2010

Trace

Description

For recording samples and log-probabilities during model execution.

Synopsis

Sample trace

type STrace = Map Addr (ErasedPrimDist, OpenSum PrimVal) Source #

The type of sample traces, mapping addresses of sample/observe operations to their primitive distributions and sampled values.

class FromSTrace env where Source #

For converting sample traces to model environments

Methods

fromSTrace :: STrace -> Env env Source #

Convert a sample trace to a model environment

Instances

Instances details
FromSTrace ('[] :: [Assign Symbol Type]) Source # 
Instance details

Defined in Trace

Methods

fromSTrace :: STrace -> Env '[] Source #

(UniqueKey x env ~ 'True, KnownSymbol x, Eq a, Member a PrimVal, FromSTrace env) => FromSTrace ((x := a) ': env) Source # 
Instance details

Defined in Trace

Methods

fromSTrace :: STrace -> Env ((x := a) ': env) Source #

updateSTrace Source #

Arguments

:: (Show x, Member x PrimVal) 
=> Addr

address of sample site

-> PrimDist x

primitive distribution at address

-> x

sampled value

-> STrace

previous sample trace

-> STrace

updated sample trace

Update a sample trace at an address

Log-probability trace

type LPTrace = Map Addr Double Source #

The type of log-probability traces, mapping addresses of sample/observe operations to their log probabilities

updateLPTrace Source #

Arguments

:: Addr

address of sample/observe site

-> PrimDist x

primitive distribution at address

-> x

sampled or observed value

-> LPTrace

previous log-prob trace

-> LPTrace

updated log-prob trace

Compute and update a log-probability trace at an address