Abstract
Helium is a Haskell compiler designed to provide programmer friendly type error messages. It employs specially designed heuristics that work on a type graph representation of the type inference process. In order to support existentials and Generalized Algebraic Data Types (GADTs) in Helium, we extend the type graphs of Helium with facilities for local reasoning. We have translated the original Helium heuristics to this new setting, and define a number of GADT-specific heuristics that help diagnose Helium programs that employ GADTs.
Original language | English |
---|---|
Title of host publication | IFL 2020: Proceedings of the 32nd Symposium on Implementation and Application of Functional Languages |
Editors | Olaf Chitil |
Publisher | Association for Computing Machinery |
Pages | 33-43 |
Number of pages | 11 |
ISBN (Print) | 9781450389631 |
DOIs | |
Publication status | Published - 2 Sept 2020 |
Event | 32nd Symposium on Implementation and Application of Functional Languages 2020 - Virtual, Online, United Kingdom Duration: 2 Sept 2020 → 4 Sept 2020 |
Conference
Conference | 32nd Symposium on Implementation and Application of Functional Languages 2020 |
---|---|
Abbreviated title | IFL 2020 |
Country/Territory | United Kingdom |
City | Virtual, Online |
Period | 2/09/20 → 4/09/20 |
Keywords
- generalized algebraic data types
- Haskell
- type error diagnosis
- type graphs