Equality proofs and deferred type errors
- Dimitrios Vytiniotis ,
- Simon Peyton Jones ,
- José Pedro Magalhães
International Conference on Functional Programming (ICFP'12) |
Published by ACM | Organized by ACM
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.