Lock-free programming for the masses
Progress with multicore is moving forward nicely, and along with submitting PRs for native code support KC has introduced
reagents: a composable, lock-free concurrency library for expressing fine-grained parallel programs on multicore OCaml. See the full blog post here.
This implementation provides a collection of composable, concurrent data and synchronisation structures such as stacks, queues, countdown latches, reader-writer locks, condition variables, exchangers and atomic counters. The implementation requires further optimisation to remove allocations in the fast path, and fine-tuning the reagents core, but this provides a great opportunity to build a standard library for fine-grained parallelism for multicore OCaml, incorporating the latest developments in lock-free data structures.