Affiliation:
1. Utrecht University, Netherlands
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.
Funder
Nederlandse Organisatie voor Wetenschappelijk Onderzoek
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software