GADTs, Functoriality, Parametricity: Pick Two

Patricia Johann
(Appalachian State University)
Enrico Ghiorzi
(Appalachian State University)
Daniel Jeffries
(Appalachian State University)

GADTs can be represented either as their Church encodings a la Atkey, or as fixpoints a la Johann and Polonsky. While a GADT represented as its Church encoding need not support a map function satisfying the functor laws, the fixpoint representation of a GADT must support such a map function even to be well-defined. The two representations of a GADT thus need not be the same in general. This observation forces a choice of representation of data types in languages supporting GADTs. In this paper we show that choosing whether to represent data types as their Church encodings or as fixpoints determines whether or not a language supporting GADTs can have parametric models. This choice thus has important consequences for how we can program with, and reason about, these advanced data types.

In Mauricio Ayala-Rincon and Eduardo Bonelli: Proceedings 16th Logical and Semantic Frameworks with Applications (LSFA 2021), Buenos Aires, Argentina (Online), 23rd - 24th July, 2021, Electronic Proceedings in Theoretical Computer Science 357, pp. 77–92.
Published: 8th April 2022.

ArXived at: https://dx.doi.org/10.4204/EPTCS.357.6 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org