FP Launchpad faculty and affiliates are active contributors to open source software, with deep involvement in the OCaml ecosystem and beyond. Below is a snapshot of key contributions, organised by theme.

OCaml 5: Multicore & Algebraic Effects

OCaml Standard ML WebAssembly

The most significant contribution — bringing native multicore support and algebraic effect handlers into OCaml 5. This was a multi-year research and engineering effort that fundamentally changed what OCaml can do for concurrent systems programming.

Related research: Effect Handlers & Language Design, Concurrency & Parallelism

ocaml-multicoreThe multicore OCaml fork that merged into OCaml 5
ocaml-aeioAsynchronous effect-based I/O
delimcc_of_fxhandlerDelimited continuations via OCaml 5 effect handlers
ocaml15-effEarly algebraic effects demos (OCaml Workshop 2015)
eff_delimcc_ocamlTranslations between Eff, Delimcc and Multicore OCaml
reify_reflect_concurrencyMonadic reflections on concurrency
async-io-handlerAsync I/O with effect handlers
wasmfxAlgebraic effects for WebAssembly
sml-effect-concEffects-based concurrency in Standard ML

Distributed & Eventually Consistent Systems

OCaml Haskell

Building mergeable and CRDT-based data structures on top of distributed storage, with Irmin (a Git-like database written in OCaml) as a central platform.

Related research: Distributed Systems & Consistency

irminDistributed database following Git design principles
ezirminHigh-level API over Irmin
irmin-datatypesMergeable functional data structures for Irmin
QueleaDeclarative programming over eventually consistent stores (Cassandra) in Haskell
mergeable-vectorMergeable vectors with operational transformation
merge-ropesMergeable rope data structures

Multicore Runtimes & Performance

OCaml Standard ML C

Low-level work on multicore language runtimes, benchmarking infrastructure, and profiling tooling.

Related research: Concurrency & Parallelism, Memory Management & Runtime Systems

multiMLtonMulticore MLton — scalable multicore Standard ML
mlton-zmqDistributed MLton over ZeroMQ
sandmarkBenchmarking suite for the OCaml compiler
ocaml_runtime_statsRuntime statistics tooling for OCaml
runtime_events_toolsTooling for OCaml 5 runtime events
tsx-toolsHeader files for Intel TSX (hardware transactional memory)

RISC-V & Cross-Platform OCaml

OCaml Shell

Porting the OCaml system to RISC-V — important for OCaml's long-term portability across hardware architectures.

riscv-ocamlRISC-V port of the OCaml system
riscv-ocaml-crossRISC-V OCaml cross-compiler toolchain
opam-cross-shaktiOPAM support for the Shakti RISC-V processor

OCaml Ecosystem & Tooling

OCaml JavaScript Haskell

Maintenance and contributions across the broader OCaml ecosystem — package management, web libraries, and the official OCaml website.

opamOCaml source-based package manager
opam-repositoryMain public package repository for OPAM
lwtCooperative threading for OCaml
ocaml-cohttpLightweight HTTP library
httpafHigh-performance, memory-efficient web server in OCaml
js_of_ocamlCompiler from OCaml to JavaScript
ocaml.orgThe official OCaml website

Teaching & Course Materials

OCaml Coq Java

Extensive open course content published from IIT Madras, covering functional programming, concurrency, compilers, and formal verification.

cs3100_m25Paradigms of Programming — Monsoon 2025
cs3100_m20Paradigms of Programming — Monsoon 2020
cs3100_f19Paradigms of Programming — Fall 2019
cs6868_s26Concurrent Programming
cs6225_s25_iitmPrograms and Proofs (Coq) — Spring 2025
cs6225_s21_iitmPrograms and Proofs (Coq) — Spring 2021
cs3300_m22Compiler Design
ocaml-tutorialOCaml tutorial at Abstraction 2019
learn-ocaml-workshop-2024Jane Street OCaml Workshop 2024