Building inference algorithms from monad transformers

We show how to decompose popular inference algorithms into a set of simple, reusable building blocks corresponding to monad transformers. We define a collection of such building blocks and implement them in Haskell producing a library for constructing inference algorithms in a modular fashion. We are also working towards formalizing those concepts as monadic denotational semantics for inference algorithms.

Adam Scibior, Yufei Cai, Klaus Ostermann, Zoubin Ghahramani