Data race freedom in OxCaml
Summary
The article explains OxCaml's approach to data race freedom using two mode axes, contention and portability, and shows how static guarantees can prevent races in parallel OCaml code. It covers the distinction between captured state and function parameters, and demonstrates how portable closures cross domain boundaries safely with a portable counter example. The piece emphasizes compile-time verification over runtime testing for race freedom and points to further related topics like capsules and structured parallelism.