prob-fx-0.1.0.1: 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, as used by simulation and inference, to output 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

Prevous log-prob trace

-> LPTrace

Updated log-prob trace

Compute and update a log-probability trace at an address