Programming paradigm designed to describe probabilistic models and then perform inference in those models