monad-bayes-1.1.1: A library for probabilistic programming.
Copyright(c) Adam Scibior 2015-2020
LicenseMIT
Maintainerleonhard.markert@tweag.io
Stabilityexperimental
PortabilityGHC
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Bayes.Traced.Basic

Description

 
Synopsis

Documentation

data Traced m a Source #

Tracing monad that records random choices made in the program.

Instances

Instances details
Monad m => Applicative (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

Methods

pure :: a -> Traced m a #

(<*>) :: Traced m (a -> b) -> Traced m a -> Traced m b #

liftA2 :: (a -> b -> c) -> Traced m a -> Traced m b -> Traced m c #

(*>) :: Traced m a -> Traced m b -> Traced m b #

(<*) :: Traced m a -> Traced m b -> Traced m a #

Monad m => Functor (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

Methods

fmap :: (a -> b) -> Traced m a -> Traced m b #

(<$) :: a -> Traced m b -> Traced m a #

Monad m => Monad (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

Methods

(>>=) :: Traced m a -> (a -> Traced m b) -> Traced m b #

(>>) :: Traced m a -> Traced m b -> Traced m b #

return :: a -> Traced m a #

MonadDistribution m => MonadDistribution (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

MonadFactor m => MonadFactor (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

Methods

score :: Log Double -> Traced m () Source #

MonadMeasure m => MonadMeasure (Traced m) Source # 
Instance details

Defined in Control.Monad.Bayes.Traced.Basic

hoist :: (forall x. m x -> m x) -> Traced m a -> Traced m a Source #

marginal :: Monad m => Traced m a -> m a Source #

Discard the trace and supporting infrastructure.

mhStep :: MonadDistribution m => Traced m a -> Traced m a Source #

A single step of the Trace Metropolis-Hastings algorithm.

mh :: MonadDistribution m => Int -> Traced m a -> m [a] Source #

Full run of the Trace Metropolis-Hastings algorithm with a specified number of steps.