Talk: 10:15–11:00 (English)

A crash course on the OCaml module language

Many programming languages offer modules, namespaces, or package systems. But very few provide a true module language. In this talk, we’ll explore OCaml’s powerful module system as a core language feature. We’ll learn how to use modules effectively, understand their design principles and limitations, and discuss the challenges posed by type equalities, type preservation, and strengthening. We’ll also look at ongoing work clarifying their semantics, including recursive modules, type anchoring, and signature avoidance. We’ll see how modules solve real problems, discover clever and expressive encodings, and identify their practical limits.

Along the way, we’ll build familiarity with key concepts such as functors, applicative and generative functors, ascriptions, and strengthening and understand how OCaml’s module language enables elegant, modular, and type-safe program design.

Xavier Van de Woestyne

‘@vdwxv (X), @xvw.lol (Bluesky), @xvw@merveilles.town (Mastodon)

I am an OCaml Senior Software Engineer at Tarides working in the Editor team, especially on OCaml, (on Merlin and OCaml LSP and I maitain the Emacs mode for OCaml). I a m very interested in Functional Programming, type system and Languages tooling.

I have a website : https://xvw.lol