Stuff that I actively maintain:
urbit-hob is the same, but for Haskell.
Stuff I actively maintain:
declarative is a suite of Markov Chain Monte Carlo (MCMC) libraries for Haskell. In addition to declarative itself, it consists of the following libraries that each export a production-quality transition operator and sampler:
There’s also mcmc-types which provides a bunch of types common to each.
You can create custom Markov chains using arbitrary convex combinations of these transition operators via a simple shallowly-embedded DSL. There’s basic support for annealing of transition operators, as well.
flat-mcmc is a production-quality implementation of a so-called affine invariant ensemble sampler. It is an excellent general-purpose Monte Carlo sampler that requires zero fiddling while being suitable for many problems.
mwc-probability is a sampling-based probability monad implemented as a simple wrapper over the mwc-random library.
sampling is a Haskell library providing basic functionality for sampling with/without replacement from arbitrary Foldable collections.
Miscellanea potentially of wider interest:
bnp contains some exploratory R work I did around various Bayesian nonparametrics models in 2016.
deanie is a toy embedded probabilistic programming language supporting rejection sampling, importance sampling, and basic Metropolis sampling.
Assorted stuff potentially of broader interest:
lgram is a simple command-line tool for drilling Latin grammar.
ti3-sampler is a simple little application I hacked together for sampling random locations on a Twilight Imperium board.
cryptopals contains solutions (in Rust, shell) to some of the famous cryptopals exercises.
okasaki contains toy Haskell implementations of various data structures from Chris Okasaki’s Purely Functional Data Structures.