Reference. The Essence of Generalized Algebraic Data Types

This paper considers direct encodings of generalized algebraic data types (GADTs) in a minimal suitable lambda-calculus. To this end, we develop an extension of System 𝐹𝜔 with recursive types and internalized type equalities with injective constant type constructors. We show how GADTs and associated pattern-matching constructs can be directly expressed in the calculus, thus showing that it may be treated as a highly idealized modern functional programming language. We prove that the internalized type equalities in conjunction with injectivity rules increase the expressive power of the calculus by establishing a non-macro-expressibility result in 𝐹𝜔, and prove the system type-sound via a syntactic argument. Finally, we build two relational models of our calculus: a simple, unary model that illustrates a novel, two-stage interpretation technique, necessary to account for the equational constraints; and a more sophisticated, binary model that relaxes the construction to allow, for the first time, formal reasoning about data-abstraction in a calculus equipped with GADTs.

Cite

Cite as @sieczkowski-2024-the (helia, typst) · \cite{sieczkowski-2024-the} (LaTeX)
BibTeX
bibtex · 1 line
@article{sieczkowski-2024-the, title={The Essence of Generalized Algebraic Data Types}, volume={8}, ISSN={2475-1421}, url={http://dx.doi.org/10.1145/3632866}, DOI={10.1145/3632866}, number={POPL}, journal={Proceedings of the ACM on Programming Languages}, publisher={Association for Computing Machinery (ACM)}, author={Sieczkowski, Filip and Stepanenko, Sergei and Sterling, Jonathan and Birkedal, Lars}, year={2024}, month=Jan, pages={695–723} }
hayagriva YAML (typst)
yaml · 20 lines
sieczkowski-2024-the:
  type: article
  title: The Essence of Generalized Algebraic Data Types
  author:
  - Sieczkowski, Filip
  - Stepanenko, Sergei
  - Sterling, Jonathan
  - Birkedal, Lars
  date: 2024-01
  page-range: 695-723
  url: http://dx.doi.org/10.1145/3632866
  serial-number:
    doi: 10.1145/3632866
    issn: 2475-1421
  parent:
    type: periodical
    title: Proceedings of the ACM on Programming Languages
    publisher: Association for Computing Machinery (ACM)
    issue: POPL
    volume: 8
Cites 38 works (4 here)
With notes (4)

Semantic analysis of normalisation by evaluation for typed lambda calculus fiore-2022-semantic

This paper studies normalisation by evaluation for typed lambda calculus from a categorical and algebraic viewpoint. The first part of the paper analyses the lambda definability result of Jung and Tiuryn via Kripke logical relations and shows how it can be adapted to unify definability and normalisation, yielding an extensional normalisation result. In the second part of the paper, the analysis is refined further by considering intensional Kripke relations (in the form of Artin–Wraith glueing) and shown to provide a function for normalising terms, casting normalisation by evaluation in the context of categorical glueing. The technical development includes an algebraic treatment of the syntax and semantics of the typed lambda calculus that allows the definition of the normalisation function to be given within a simply typed metatheory. A normalisation-by-evaluation program in a dependently typed functional programming language is synthesised.
DOI · arXiv

Iris from the ground up: A modular foundation for higher-order concurrent separation logic jung_etal_iris_ground_up_2018

Iris is a framework for higher-order concurrent separation logic, which has been implemented in the Coq proof assistant and deployed very effectively in a wide variety of verification projects. Iris was designed with the express goal of simplifying and consolidating the foundations of modern separation logics, but it has evolved over time, and the design and semantic foundations of Iris itself have yet to be fully written down and explained together properly in one place. Here, we attempt to fill this gap, presenting a reasonably complete picture of the latest version of Iris (version 3.1), from first principles and in one coherent narrative.
PDF · DOI · pldb

Type-and-scope safe programs and their proofs allais-2017-type

PDF · DOI · pldb

Abstract syntax and variable binding fiore_etal_nd

We develop a theory of abstract syntax with variable binding. To every binding signature we associate a category of models consisting of variable sets endowed with compatible algebra and substitution structures. The syntax generated by the signature is the initial model. This gives a notion of initial algebra semantics encompassing the traditional one; besides compositionality, it automatically verifies the semantic substitution lemma.
DOI
External (34)
sieczkowski-2024-the reference entries/refs/sieczkowski-2024-the/sieczkowski-2024-the.hel