Skip to content
KC Sivaramakrishnan edited this page Apr 6, 2018 · 16 revisions

Welcome to the Multicore OCaml development wiki! The goal of Multicore OCaml is to add shared memory multicore parallelism to OCaml. The sidebar has links to design/implementation notes. Below is a collection of resources elsewhere on the web relating to Multicore OCaml development.

Getting Started

There is an OPAM remote in ocamllabs/multicore-opam that provides new compiler switches with the multicore-enabled functionality. See the README for instructions.




  • Aeio: Asynchronous effect-based IO.
  • effects-examples: A collection of algebraic effects and handlers examples.
  • Reagents: A composable lock-free synchronization library for Multicore OCaml.
  • OCaml-effects: OCaml with support for (unchecked) algebraic effects and handlers. Multicore OCaml story is composed of two parts: concurrency (through algebraic effects and handlers) and parallelism (through domains and a new multicore GC). OCaml-effects is vanilla OCaml with algebraic effects but without parallelism support.
You can’t perform that action at this time.