Complete and Decidable Type Inference for GADTs

  • Tom Schrijvers ,
  • Simon Peyton Jones ,
  • Martin Sulzmann ,
  • Dimitrios Vytiniotis

Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming |

Published by Association for Computing Machinery, Inc.

This new paper comes with a prototype implementation for a Haskell-like language, available for download.

GADTs have proven to be an invaluable language extension, a.o. for ensuring data invariants and program correctness. Unfortunately, they pose a tough problem for type inference: we lose the principal-type property, which is necessary for modular type inference.

We present a novel and simplified type inference approach for local type assumptions from GADT pattern matches. Our approach is complete and decidable, while more liberal than previous such approaches.

 

The main PDF above is a slightly corrected version of the paper as published by ACM, which is here.