Design and Implementation of Probabilistic Programming Languages
dippl.org
dippl.org
I know that Stan is like the most production ready one right now but it's also somewhat large. This project seems much more tractable.
There's a whole list here http://probabilistic-programming.org/wiki/Home and I'm not sure which ones are like "real projects" that can be used in production and which ones are like toy/research projects and I'm not sure if they all interpret the idea of probabilistic programming fundamentally differently or if they are all just flavors.
I think Figaro, Stan and PyMC are the most "production-ready" in the sense they have been used for projects outside the realms of their creators. Still I would argue on some level all of them are research projects that aim to explore how to make probabilistic modeling more accessible to people. Ideas in one language often will appear in another down the line. So I encourage to explore a few of them and reach out to the people working on them.
My understanding is that if I write e.g. an HMM in any of these languages, the resulting code will be suboptimal in performance and accuracy vs e.g. Viterbi.
[1] https://web.stanford.edu/~ngoodman/papers/aistats2014-shred....
[2] http://docs.webppl.org/en/master/inference/methods.html#enum...
Beyond that we are seeing some cool stuff with Blackbox Variational Inference [3] and other Automatic Variational [4] solvers coming out of Blei's lab. At present these capabilities are spread about the different system but I expect all them to eventually end up available in whichever you choose to use.
[1] http://homes.soic.indiana.edu/ccshan/rational/simplify-padl....
[2] http://www.srl.inf.ethz.ch/papers/psi-solver.pdf
[3] http://www.cs.columbia.edu/~blei/papers/RanganathGerrishBlei...