PLLGCONov 15, 2018

Effect Handling for Composable Program Transformations in Edward2

arXiv:1811.06150v116 citations
Originality Incremental advance
AI Analysis

This work addresses modularity and composability issues for developers in probabilistic programming, though it appears incremental as it builds on existing Edward2 and effect-handling concepts.

The paper tackles the challenge of implementing composable program transformations in probabilistic programming languages by interpreting Edward2's design as an accidental effect-handling mechanism and extending it to support nested transformations, resulting in straightforward implementation of sophisticated model transformations and inference algorithms.

Algebraic effects and handlers have emerged in the programming languages community as a convenient, modular abstraction for controlling computational effects. They have found several applications including concurrent programming, meta programming, and more recently, probabilistic programming, as part of Pyro's Poutines library. We investigate the use of effect handlers as a lightweight abstraction for implementing probabilistic programming languages (PPLs). We interpret the existing design of Edward2 as an accidental implementation of an effect-handling mechanism, and extend that design to support nested, composable transformations. We demonstrate that this enables straightforward implementation of sophisticated model transformations and inference algorithms.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes