Patrick Bahr IT University of Copenhagen

The Calculated Typer

Patrick Bahr, presenting joint work with Zac Garby and Graham Hutton
Proceedings of the 18th ACM SIGPLAN International Haskell Symposium, p. 17–29, 2025.

Abstract

We present a calculational approach to the design of type checkers, showing how they can be derived from behavioural specifications using equational reasoning. We focus on languages whose semantics can be expressed as a fold, and show how the calculations can be simplified using fold fusion. This approach enables the compositional derivation of correct-by-construction type checkers based on solving and composing fusion preconditions. We introduce our approach using a simple expression language, to which we then add support for exception handling and checked exceptions.

Keywords: Program Calculation, Type Checking