Text this: Foundations of Probabilistic Programming