Practical Probabilistic Programming