[ANN] First release of prbnmcn-dagger

I’m pleased to announce the first release of prbnmcn-dagger (dagger for short).

dagger is a library/edsl for probabilistic programming. Models are written in a monadic language and inference is performed by backends implementing that monadic interface.
In this first release, dagger only implements variants of lightweight Metropolis-Hastings.

You can have a look at the README or jump straight at the documentation

Some notable sources of inspiration for this project are:

Happy hacking!


I’m proud to announce the release of version 0.0.2 of prbnmcn-dagger.

This version adds Sequential Monte-Carlo, a.k.a. particle filters-based inference to the library.

Here’s the full changelog:

  • Dependency: prbnmcn-stats.0.0.3prbnmcn-stats.0.0.4
  • Add beta distribution to Gsl samplers
  • Refactor Cps monad
  • Add SMC inference
  • Simplify handler type, modularize effect definitions away from Cps_monad
  • Fix typo: bernouilli → bernoulli (report by @nilsbecker)

I also wrote the following article: Applying Sequential Monte-Carlo to time series forecasting
It contains some use cases for the library, I hope some find it fun :slight_smile:

To conclude this post, and as a partial answer to @gasche 's question in an older thread, I believe that unlike some other inference techniques, single-shot continuations are enough to implement SMC. Without getting into the details, the implementation is very reminiscent of that of lightweight threading libraries. I look forward to experiment with a fibre-based implementation!