Proceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages 2016
DOI: 10.1145/3064899.3064910
|View full text |Cite
|
Sign up to set email alerts
|

Design and Implementation of Probabilistic Programming Language Anglican

Abstract: Anglican is a probabilistic programming system designed to interoperate with Clojure and other JVM languages. We introduce the programming language Anglican, outline our design choices, and discuss in depth the implementation of the Anglican language and runtime, including macrobased compilation, extended CPS-based evaluation model, and functional representations for probabilistic paradigms, such as a distribution, a random process, and an inference algorithm.We show that a probabilistic functional language ca… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
77
0
2

Year Published

2019
2019
2022
2022

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 72 publications
(79 citation statements)
references
References 16 publications
0
77
0
2
Order By: Relevance
“…Probabilistic programs are shown to be powerful models for a wide variety of applications, such as analysis of stochastic network protocols [40,65,88], machine learning applications [26,44,81,83], and robot planning [91,92], to name a few. There are also many probabilistic programming languages (such as Church [42], Anglican [93] and WebPPL [43]) and automated analysis of such programs is an active research area in formal methods and programming languages (see [1,16,18,22,37,66,67,74,96]). Nondeterministic programs.…”
Section: Introductionmentioning
confidence: 99%
“…Probabilistic programs are shown to be powerful models for a wide variety of applications, such as analysis of stochastic network protocols [40,65,88], machine learning applications [26,44,81,83], and robot planning [91,92], to name a few. There are also many probabilistic programming languages (such as Church [42], Anglican [93] and WebPPL [43]) and automated analysis of such programs is an active research area in formal methods and programming languages (see [1,16,18,22,37,66,67,74,96]). Nondeterministic programs.…”
Section: Introductionmentioning
confidence: 99%
“…Such programs provide a flexible framework for many different applications, ranging from the analysis of network protocols [Foster et al 2016;Kahn 2017;Smolka et al 2017], to machine learning applications Ścibior et al 2015], and robot planning [Thrun 2000[Thrun , 2002. The recent interest in probabilistic programs has led to many probabilistic programming languages (such as Church , Anglican [Tolpin et al 2016] and WebPPL [Goodman and Stuhlmüller 2014]) and their analysis is an active research area in formal methods and programming languages (see [Agrawal et al 2018;Chakarov and Sankaranarayanan 2013;Chatterjee et al 2016a,b;Esparza et al 2012;Ngo et al 2018;Wang et al 2018]).…”
Section: Introductionmentioning
confidence: 99%
“…However to achieve this, the host language must coincide with the implementation language of the probabilistic model, on one hand, and allow a computationally efficient implementation of the simulation, on the other hand. Some probabilistic programming frameworks (Figaro [36], Anglican [51], Turing [11]) are built with tight integration with the host environment in mind; more often than not though the probabilistic code is not trivial to re-use.…”
Section: Challengesmentioning
confidence: 99%
“…To use a distribution in a differentiable model, the distribution's log probability density function must be differentiable by both the distribution's parameters and by the value of the random variable. Distributions are usually supplied as a part of the probabilistic programming framework [10,11,51], and, if at all possible, adding a user-defined distribution requires programming at a lower level of abstraction than while specifying a probabilistic model [1,41,51].…”
Section: Model Compositionmentioning
confidence: 99%
See 1 more Smart Citation