The library is now maintained by Tweag I/O. The main repo is now here.
A library for probabilistic programming in Haskell using probability monads. The emphasis is on composition of inference algorithms implemented in terms of monad transformers.
As of February 2020, we are working towards releasing monad-bayes on Hackage.
After the initial release, we will focus on improving documentation. In the
meantime, see the models
folder for examples.
The basis for the code in this repository is the ICFP 2018 paper [2]. For the
code associated with the Haskell2015 paper [1], see the haskell2015
branch.
[1] Adam M. Ścibior, Zoubin Ghahramani, and Andrew D. Gordon. 2015. Practical probabilistic programming with monads. In Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell (Haskell ’15), Association for Computing Machinery, Vancouver, BC, Canada, 165–176.
[2] Adam M. Ścibior, Ohad Kammar, and Zoubin Ghahramani. 2018. Functional programming for modular Bayesian inference. In Proceedings of the ACM on Programming Languages Volume 2, ICFP (July 2018), 83:1–83:29.
[3] Adam M. Ścibior. 2019. Formally justified and modular Bayesian inference for probabilistic programs. Thesis. University of Cambridge.
Ensure stack
is installed by following these instructions.
To clone the repo:
git clone https://github.com/tweag/monad-bayes.git
To run the build:
stack build
To test the code:
stack test
To open an interactive session:
stack ghci