The principles and practice of probabilistic programming
Lightweight Implementations of Probabilistic Programming Languages Via Transformational Compilation