Design and implementation of probabilistic programming language anglican

David Tolpin, Jan Willem Van De Meent, Hongseok Yang, Frank Wood

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

34 Scopus citations

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 macro-based 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 can be implemented efficiently and integrated tightly with a conventional functional language with only moderate computational overhead. We also demonstrate how advanced probabilistic modelling concepts are mapped naturally to the functional foundation.

Original languageEnglish
Title of host publicationProceedings of the 28th Symposium on the Implementation and Application of Functional Programming Languages, IFL 2016
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450347679
DOIs
StatePublished - 31 Aug 2016
Externally publishedYes
Event28th Symposium on the Implementation and Application of Functional Programming Languages, IFL 2016 - Leuven, Belgium
Duration: 31 Aug 20162 Sep 2016

Publication series

NameACM International Conference Proceeding Series

Conference

Conference28th Symposium on the Implementation and Application of Functional Programming Languages, IFL 2016
Country/TerritoryBelgium
CityLeuven
Period31/08/162/09/16

Fingerprint

Dive into the research topics of 'Design and implementation of probabilistic programming language anglican'. Together they form a unique fingerprint.

Cite this