OCaml 2023
as the organisers put it
The OCaml Users and Developers Workshop brings together industrial users of OCaml with academics and hackers who are working on extending the language, type system, and tools. Previous editions have been co-located with ICFP 2012 in Copenhagen, ICFP 2013 in Boston, ICFP 2014 in Gothenburg, ICFP 2015 in Vancouver, ICFP 2016 in Nara, ICFP 2017 in Oxford, ICFP 2018 in St Louis, ICFP 2019 in Berlin, virtually for ICFP 2020 and ICFP 2021, and in Ljubjlana for ICFP 2022. OCaml 2023 will be again be co-located with ICFP 2023, which will take place in Seattle. We aim to organize it as a hybrid eve ...
who it's for
OCaml developers, compiler engineers, language researchers, tool maintainers, systems programmers, build engineers, programming instructors
topics
effects-based IO (Eio); multicore parallel sequences; lock-free software transactional memory (kcas); Flambda 2 optimization IR; ThreadSanitizer for OCaml; static analysis for C stubs; DSL compiler architecture (Catala); OCaml build integration with Buck2; MetaOCaml staging translation; WebAssembly interpreter and symbolic execution (Owi); Iris-based program logic for OCaml; OCaml platform and Dune/opam roadmap
| title | author | length |
|---|---|---|
| Eio 1.0 – Effects-based IO for OCaml 5 | Thomas Leonard, Patrick Ferris, Christiano Haesbaert, Lucas Pluvinage, Vesa Karvonen, Sudha Parimala, KC Sivaramakrishnan, Vincent Balat, Anil Madhavapeddy | 20m |
Effects-based direct-style IO for OCaml 5 that exposes three core effects suspend, fork, get_context and multiple backends (POSIX, Linux io_uring, Windows, JS… | ||
| Modern DSL compiler architecture in OCaml our experience with Catala | Louis Gesbert, Denis Merigoux | 20m |
Catala is an OCaml DSL for encoding legal rules; this session explains how the compiler uses a single centralized AST plus object types as row variables and… | ||
| Runtime Detection of Data Races in OCaml with ThreadSanitizer | Olivier Nicole, Fabrice Buoro | 19m |
ThreadSanitizer is integrated into the OCaml compiler and runtime via LLVM-style instrumentation and a runtime library that records vector clocks and shadow… | ||
| Targeted Static Analysis for OCaml C Stubs: Eliminating gremlins from the code | Edwin Török | 23m |
Migrates OCaml C bindings by parsing OCaml parsetrees and typed trees to auto-generate a C header generator and a caller model, then feeds a simplified… | ||
| Efficient OCaml compilation with Flambda 2 | Pierre Chambart, Vincent LAVIRON, Mark Shinwell | 22m |
Flambda 2 is an IR plus an optimization pass for OCaml that replaces the old middle-ends and aims to match closure speed while producing fewer allocations; it… | ||
| Less Power for More Learning: Restricting OCaml Features for Effective Teaching | Max Lang, Nico Petzendorfer | 20m |
Framework sandboxes OCaml by supplying a modified standard library (used via -no‑pervasive) and a PPX AST checker that rejects forbidden syntax, plus a mock IO… | ||
| Buck2 for OCaml Users & Developers | Shayne Fletcher, Neil Mitchell | 26m |
Buck2 is Meta’s Rust‑written build system used by thousands daily and claims faster OCaml support via remote execution and aggressive caching — a full remote… | ||
| Building a lock-free STM for OCaml | Vesa Karvonen, Bartosz Modelski, Carine Morel, Thomas Leonard, KC Sivaramakrishnan, YSS Narasimha Naidu, Sudha Parimala | 22m |
kcas implements a lock-free software transactional memory for OCaml built on a multi-word compare-and-set primitive, with composable transactions… | ||
| Parallel Sequences in Multicore OCaml | Andrew Tao | 23m |
An OCaml 5.0 multicore library that exposes list-like tabulate/map/reduce/scan/flatten/filter uses an opaque array underneath, domainslib for scheduling, and a… | ||
| State of the OCaml Platform 2023 | Thibaut Mattio, Anil Madhavapeddy, Thomas Gazagnaire, David Allsopp | 22m |
Platform marks 10 years since opam 1.0 and proposes a three year roadmap that lists about 20 concrete workflows to complete. Editor-side work already shipped… | ||
| MetaOCaml Theory and Implementation | Oleg Kiselyov | 29m |
An integrated translation in BER MetaOCaml N114 interleaves quotation/antiquotation lowering with OCaml type checking so the compiler no longer rebuilds whole… | ||
| Owi: an interpreter and a toolkit for WebAssembly written in OCaml | Léo Andrès, Pierre Chambart, Eric Patrizio, Dario Pinto | 26m |
Owi is an OCaml-based interpreter and toolkit for WebAssembly that ships a linker, multiple IR passes, a concrete interpreter, and a symbolic execution backed… | ||
| Osiris: an Iris-based program logic for OCaml | Arnaud Daby-Seesaram, François Pottier, Armaël Guéneau | 21m |
Osiris provides an Iris-based program logic inside Coq to verify OCaml modules by translating OCaml ASTs into a deep-embedded Coq representation and proving an… | ||
| nothing matches | ||