Patrick Bahr IT University of Copenhagen

The Calculated Typer

Zac Garby, Patrick Bahr and Graham Hutton
Submitted for peer review, June 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 Checker