Exact Recursive Probabilistic Programming

10Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also useful, but unfortunately, existing probabilistic programming languages do not perform exact inference on recursive calls over recursive data, forcing programmers to code many applications manually. We introduce a probabilistic language in which a wide variety of recursion can be expressed naturally, and inference carried out exactly. For instance, probabilistic pushdown automata and their generalizations are easy to express, and polynomial-time parsing algorithms for them are derived automatically. We eliminate recursive data types using program transformations related to defunctionalization and refunctionalization. These transformations are assured correct by a linear type system, and a successful choice of transformations, if there is one, is guaranteed to be found by a greedy algorithm.

Cite

CITATION STYLE

APA

Chiang, D., McDonald, C., & Shan, C. C. (2023). Exact Recursive Probabilistic Programming. Proceedings of the ACM on Programming Languages, 7(OOPSLA1). https://doi.org/10.1145/3586050

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free