This document discusses probabilistic programming and its applications for evolutionary biology. It notes that probabilistic programming aims to make modeling easy by allowing researchers to write model descriptions that generate inference methods. Key points include writing modular, reusable models; avoiding low-level languages for simple tasks; allowing for changing graphs and data structures; and lazy computation for MCMC sampling. It also discusses extending graphical models to include control flow and native data structures, as well as having random numbers of random variables. Finally, it discusses future work involving dynamic instantiation of random variables.