Monolingual probabilistic programming using generalized coroutines

Oleg Kiselyov, Chung Chieh Shan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

14 Citations (Scopus)


Probabilistic programming languages and modeling toolkits are two modular ways to build and reuse stochastic models and inference procedures. Combining strengths of both, we express models and inference as generalized coroutines in the same general-purpose language. We use existing facilities of the language, such as rich libraries, optimizing compilers, and types, to develop concise, declarative, and realistic models with competitive performance on exact and approximate inference. In particular, a wide range of models can be expressed using memoization. Because deterministic parts of models run at full speed, custom inference procedures are trivial to incorporate, and inference procedures can reason about themselves without interpretive overhead. Within this framework, we introduce a new, general algorithm for importance sampling with look-ahead.

Original languageEnglish
Title of host publicationProceedings of the 25th Conference on Uncertainty in Artificial Intelligence, UAI 2009
PublisherAUAI Press
Number of pages8
Publication statusPublished - 2009
Externally publishedYes

Publication series

NameProceedings of the 25th Conference on Uncertainty in Artificial Intelligence, UAI 2009

ASJC Scopus subject areas

  • Artificial Intelligence
  • Applied Mathematics


Dive into the research topics of 'Monolingual probabilistic programming using generalized coroutines'. Together they form a unique fingerprint.

Cite this