Abstract
Datatype-generic programming is a widely used technique to define functions that work regularly over a class of datatypes. Examples include deriving serialization of data, equality or even functoriality. The state-of-the-art of generic programming still lacks handling GADTs, multiple type variables, and some other features. This paper exploits modern GHC extensions, including <pre>TypeInType</pre>, to handle arbitrary number of type variables, constraints, and existentials. We also provide an Agda model of our construction that does not require Russel’s paradox, proving the construction is consistent.
| Original language | English |
|---|---|
| Title of host publication | Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell |
| Publisher | Association for Computing Machinery |
| Pages | 41-54 |
| Number of pages | 14 |
| ISBN (Electronic) | 9781450349116 |
| ISBN (Print) | 978-1-4503-5835-4 |
| DOIs | |
| Publication status | Published - 17 Sept 2018 |
Keywords
- Generic programming
- Haskell
Fingerprint
Dive into the research topics of 'Generic programming of all kinds'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver