13.03.2026 –, Vorträge 1 Sprache: English
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.
- The modules are really cool and can be used in reasonable ways, but also in unreasonable ways (which is fun).
- Generally, people brush against them and capture their surface area.
- One of OCaml's killer features, often left out of presentations (due to lack of time)
- always evolving and improving
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