English

Design and Implementation of Probabilistic Programming Language Anglican

Programming Languages 2016-12-01 v2

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 modeling concepts are mapped naturally to the functional foundation.

Keywords

Cite

@article{arxiv.1608.05263,
  title  = {Design and Implementation of Probabilistic Programming Language Anglican},
  author = {David Tolpin and Jan Willem van de Meent and Hongseok Yang and Frank Wood},
  journal= {arXiv preprint arXiv:1608.05263},
  year   = {2016}
}

Comments

IFL 2016 submission, 12 pages, 2 figures

R2 v1 2026-06-22T15:23:18.096Z