Lune

PLDI2026Top-tier venue

Backwards-Compatible Row-Based Exceptions in ML

Simcha van Collem, Paulo Emílio de Vilhena, Robbert Krebbers

2026Year

Abstract

We introduce a type system that provides strong types for exception tracking in ML-style languages. Our type system employs a rich notion of row polymorphism and subtyping to ensure backwards compatibility, making sure that code without exception tracking continues to work and can be generalized gracefully to support exception tracking. We study the safety and abstraction guarantees of our type system, in particular the role of local exceptions for data abstraction. We formulate these claims using binary logical relations in a novel relational separation logic for exceptions, an independent contribution of this paper. We support a realistic subset of features from ML-style languages, such as extensible variant types, local exceptions, and concurrency. We exercise our type system and logic on a number of challenging examples taken from the OCaml standard library, from one of Jane Street’s OCaml libraries, and from Filinski’s PhD thesis. All our results are mechanized in the Rocq prover using Iris.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 7cf8a492-afed-4e4b-90ba-5778bb3acf72

Builds on10

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines