OCaml 5
Riot assumes an OCaml 5 world.
That is not only a compiler-version preference. It is part of the product shape:
- the runtime story is built with modern OCaml in mind
- the toolchain story is cleaner when the baseline is current
- the docs get simpler when they are not forced to straddle too many historical compatibility modes
Why that is a good trade
Section titled “Why that is a good trade”A toolchain gets harder to explain every time it tries to preserve too many old assumptions.
By assuming OCaml 5, Riot gets to be clearer about:
- toolchain materialization
- runtime expectations
- the intended direction of package authoring
That clarity is worth a lot.
What it means in practice
Section titled “What it means in practice”For most users, this means:
- new workspaces should target OCaml 5
- local machines should be ready to materialize OCaml 5 toolchains
- older compiler lines should be treated as exceptions, not defaults
If you need to understand how the compiler is actually selected and installed, continue with ocaml-toolchain.toml and riot toolchain.