Generic programming of all kinds

Alejandro Serrano, V. Cacciari Miraldo

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

1 Downloads (Pure)

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 languageEnglish
Title of host publicationProceedings of the 11th ACM SIGPLAN International Symposium on Haskell
PublisherAssociation for Computing Machinery
Pages41-54
Number of pages14
ISBN (Electronic)9781450349116
ISBN (Print)978-1-4503-5835-4
DOIs
Publication statusPublished - 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