Higher-Order Probabilistic Programming
A Tutorial at POPL 2019
Lisbon, January 14, 2019

This tutorial is meant to be an introduction to the principles of randomized and bayesian higher-order programming languages. We will start by giving some simple examples of probabilistic higher-order programs, written in generic or domain specific functional programming languages. Particular attention will be given in highlighting why sampling and conditioning can be useful in programming, and how the metatheory of higher-order probabilistic programming differs from the one of its deterministic sibling.

Synopsis [ pdf ]
Tutorial Material
Slides, Part I (29/1/2019) [ pdf ]
Slides, Part II (29/1/2019) [ pdf ]
Slides, Part III (29/1/2019) [ pdf ]
Slides, Part IV (29/1/2019) [ pdf ]