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:
NestedSampling.hs is a Haskell implementation of Skilling’s nested sampling that I co-authored with Brendon Brewer.
hnuts is an implementation of the No U-Turn Sampler (NUTS) in Haskell.
measurable is a simple, shallowly-embedded, illustrative language for working with measures in the form of the Giry monad.
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.
up8-ticket is a simple JavaScript library for securely generating and sharing UP8-compatible, @q-encoded master tickets via e.g. HMAC-DRBG and Shamir’s Secret Sharing.
urbit-key-generation provides a JavaScript implementation of the UP8 hierarchical wallet.
azimuth-hs is a Haskell library providing Azimuth contract bindings.
azimuth-js is the same, but for JavaScript.
up is a priority search queue (+up) and LRU cache (+lu) for Hoon, complete with a full suite of jets in C, in the spirit of Haskell’s psqueues library.
okasaki contains Haskell implementations of data structures from Chris Okasaki’s Purely Functional Data Structures, typically using recursion schemes and often via continuation-passing style.
Assorted stuff potentially of broader interest:
urbit-ob provides JavaScript support for dealing with Hoon’s @p and @q auras, used for ship names and arbitrary data.
urbit-hob is the same, but for Haskell.
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.
drb is a command-line Douay-Rheims.
praxis are various programming exercises I’ve done over the years, mostly taken from Programming Praxis.
cryptopals contains solutions (in Rust, shell) to some of the famous cryptopals exercises.