Introductory Texts
Design and Implementation
- An Introduction to Probabilistic Programming
- The Design and Implementation of Probabilistic Programming Languages
Semantics
Applications
- Probabilistic Models of Cognition
- Modeling Agents with Probabilistic Programs
- Probabilistic language understanding
Research Papers
The bibliography below includes publications that we will discuss in the class, as well as additional readings that may be of interest.
- A Lambda-Calculus Foundation for Universal Probabilistic Programming
- Reasoning about "Reasoning about Reasoning"
- Probabilistic Programming with Programmable Inference
- Gen: a general-purpose probabilistic programming system with programmable inference
- ADEV: Sound Automatic Differentiation of Expected Values of Probabilistic Programs
- Probabilistic Programming with Stochastic Probabilities
- Probabilistic Programming with Programmable Variational Inference
- Scaling Exact Inference for Discrete Probabilistic Programs
- Bit Blasting Probabilistic Programs
- Exact Recursive Probabilistic Programming
- Exact Bayesian Inference on Discrete Models via Probability Generating Functions: A Probabilistic Programming Approach
- Inference of Probabilistic Programs with Moment-Matching Gaussian Mixtures
- Compiling Probabilistic Programs for Variable Elimination with Information Flow
- From High-Level Inference Algorithms to Efficient Code
- Scallop: A Language for Neurosymbolic Programming
- DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning
- Verified Density Compilation for a Probabilistic Programming Language
- You Only Linearize Once: Tangents Transpose to Gradients
- more to come...
Probabilistic programming languages
Below is a nonexhaustive list of existing probabilistic programming languages.