OxCaml is a set of extensions to the OCaml programming language that form Jane Street’s production compiler for performance-oriented programming. OxCaml’s primary design goals are to provide safe, convenient, predictable control over performance-critical aspects of program behavior while preserving ML-style programming ergonomics. This tutorial will focus on key extensions in OxCaml, such as:
- fearless concurrency: additions to the type system to statically rule out data races.
- data layouts: providing more control over how data is laid out in memory and native access to vector instructions.
- allocation control: reducing GC pressure and improving cache efficiency and determinism.