Birch is an imperative, object-oriented, universal probabilistic programming language. It compiles to C++14 for Linux, macOS, and Windows 10, and is free and open source.
Probabilistic models are specified in Birch by writing a program to simulate the joint distribution. Inference methods are also written in Birch. Sequential Monte Carlo (SMC) is currently supported, with analytical optimizations—such as locally-optimal proposals and Rao–Blackwellization—applied automatically.
L.M. Murray, D. Lundén, J. Kudlicka, D. Broman, T.B. Schön
J. Kudlicka, L.M. Murray, F. Ronquist and T.B. Schön