kirancodes.me
To Proof Maintenance & Beyond!

Equality proofs and deferred type errors: a compiler pearl

Dimitrios Vytiniotis, Simon L. Peyton Jones, José Pedro Magalhães

Abstract

The Glasgow Haskell Compiler is an optimizing compiler that expresses and manipulates first-class equality proofs in its intermediate language. We describe a simple, elegant technique that exploits these equality proofs to support deferred type errors. The technique requires us to treat equality proofs as possibly-divergent terms; we show how to do so without losing either soundness or the zero-overhead cost model that the programmer expects.

Related papers