Abstract
We report on an extension of Haskell with open type-level functions and equality constraints that unifies earlier work on GADTs, functional dependencies, and associated types. The contribution of the paper is that we identify and characterise the key technical challenge of entailment checking; and we give a novel, decidable, sound, and complete algorithm to solve it, together with some practically-important variants. Our system is implemented in GHC, and is already in active use.
Original language | English |
---|---|
Title of host publication | Proceeding of the 13th ACM SIGPLAN international conference on Functional programming |
Publisher | Association for Computing Machinery |
Publication date | 2008 |
Pages | 51-62 |
ISBN (Print) | 978-1-59593-919-7 |
DOIs | |
Publication status | Published - 2008 |
Event | ICFP 2008 : The 13th ACM SIGPLAN International Conference on Functional Programming - Victoria, British Columbia, Canada Duration: 22 Sept 2008 → 24 Sept 2008 Conference number: 13 |
Conference
Conference | ICFP 2008 : The 13th ACM SIGPLAN International Conference on Functional Programming |
---|---|
Number | 13 |
Country/Territory | Canada |
City | Victoria, British Columbia |
Period | 22/09/2008 → 24/09/2008 |
Keywords
- Haskell extensions
- Type-level functions
- Equality constraints
- Entailment checking
- GHC implementation