OCaml, OxCaml, Parallel Programming, Type Systems
Your parallel code passes every test, then crashes once a week in production because of an unreproducible data race. Write parallel OCaml and let OxCaml's mode system catch races at compile time, so your weekend stays yours.
Multicore programming has been a major driver of performance gains, but data races remain a persistent headache: programs fail non-deterministically despite analysis and testing tools. Since OCaml 5 introduced shared-memory parallelism, this concern has also affected OCaml programmers.
OxCaml is a set of OCaml extensions developed by Jane Street for performance-oriented programming. Among its additions is a mode system inspired by Rust's ownership and borrowing model. Part of this mode system is designed to ensure data-race freedom by ruling out data races at compile time.
Familiarity with OCaml syntax is helpful but not required. The exercises are well commented and require only minimal code writing, allowing OCaml beginners to follow most of the workshop. No prior experience with OxCaml or multicore OCaml is necessary.
The environment is provided as a dev container that can run through GitHub Codespaces, which is the recommended setup. Attendees only need a modern browser and a free GitHub account.
The same dev container can be run locally on Linux or macOS, although this requires Docker and either Visual Studio Code with the Dev Containers extension or the devcontainer CLI.
Developers interested in safe parallel programming and type-system approaches to data-race freedom. It is useful for anyone interested in OCaml, OxCaml, or how Rust-style ownership ideas can transfer to other languages.