Probabilistic Programming with Infer.NET - Winn, John; Minka, Tom (2009)
Probabilistic Programming is a way of defining probabilistic models by overloading the operations in standard programming language to have probabilistic meanings. The goal is to specify probabilistic models in a compact manner for human communication and in a precise manner for automatic inference. A good overview of the research in this area was provided by the NIPS 2008 Workshop on Probabilistic Programming.