2009
DOI: 10.1007/978-3-642-03034-5_17
|View full text |Cite
|
Sign up to set email alerts
|

Embedded Probabilistic Programming

Abstract: Abstract. Two general techniques for implementing a domain-specific language (DSL) with less overhead are the finally-tagless embedding of object programs and the direct-style representation of side effects. We use these techniques to build a DSL for probabilistic programming, for expressing countable probabilistic models and performing exact inference and importance sampling on them. Our language is embedded as an ordinary OCaml library and represents probability distributions as ordinary OCaml programs. We u… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
66
0

Year Published

2013
2013
2020
2020

Publication Types

Select...
6
2
1

Relationship

0
9

Authors

Journals

citations
Cited by 88 publications
(66 citation statements)
references
References 34 publications
0
66
0
Order By: Relevance
“…Following the earliest system BUGS (Gilks et al 1994;Lunn et al 2013), there are many systems, including BLOG (Milch et al 2007), Infer.NET (Minka et al 2009), Church (Goodman et al 2008), Figaro (Pfeffer 2009), HANSEI (Kiselyov and Shan 2009), Fun , Stan (Stan Development Team 2014a), R2 (Nori et al 2014), Anglican , Probabilistic C (Paige and Wood 2014), Venture , and Wolfe (Riedel et al 2014).…”
Section: Background: Probabilistic Programmingmentioning
confidence: 99%
“…Following the earliest system BUGS (Gilks et al 1994;Lunn et al 2013), there are many systems, including BLOG (Milch et al 2007), Infer.NET (Minka et al 2009), Church (Goodman et al 2008), Figaro (Pfeffer 2009), HANSEI (Kiselyov and Shan 2009), Fun , Stan (Stan Development Team 2014a), R2 (Nori et al 2014), Anglican , Probabilistic C (Paige and Wood 2014), Venture , and Wolfe (Riedel et al 2014).…”
Section: Background: Probabilistic Programmingmentioning
confidence: 99%
“…Cardelli [5] identifies the programming style based on widespread use of mechanicallychecked types as typeful programming. Probabilistic languages that are embedded DSLs, such as HANSEI [17], Fun [2], and Factorie [19], are already typeful in that they inherit types from their host languages, while standalone languages, such as BUGS [9] or Stan [28], have value-indexed data schemas (but no user-defined functions). Still, we find that more sophisticated forms of type are useful in probabilistic modelling.…”
Section: Spreadsheets and Typeful Probabilistic Programmingmentioning
confidence: 99%
“…Tabular, instead, uses types to distinguish between operations available in different spaces (or phases) (such as random draws in rnd space, optimization (ArgMax) and moments of distributions in qry-space). Embedded DSLs such as Infer.NET [20], HANSEI [17] and FACTORIE [19] enable arbitrary post-processing in the host language, but require knowledge of both the host and the embedded language, which is typically much simpler.…”
Section: Related Workmentioning
confidence: 99%
“…This version of Fun can be seen as a first-order subset of the stochastic lambda-calculus (Ramsey and Pfeffer 2002); it is akin also to HANSEI (Kiselyov and Shan 2009). Fun expressions have a semantics in the probability monad, but also have a direct interpretation using factor graphs.…”
Section: Fun and The Model-learner Patternmentioning
confidence: 99%