English

Extending the Quantitative Pattern-Matching Paradigm

Programming Languages 2024-08-21 v1 Logic in Computer Science

Abstract

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming languages, we use a (weak and closed) λ\lambda-calculus integrating a pattern matching mechanism on algebraic data types (ADTs). Remarkably, we also show that this language not only encodes Plotkin's CBV and CBN λ\lambda-calculus as well as other subsuming frameworks, such as the bang-calculus, but can also be used to interpret the semantics of effectful languages with exceptions. After a thorough study of the untyped language, we introduce a type system based on intersection types, and we show through purely logical methods that the set of terminating terms of the language corresponds exactly to that of well-typed terms. Moreover, by considering non-idempotent intersection types, this characterization turns out to be quantitative, i.e. the size of the type derivation of a term t gives an upper bound for the number of evaluation steps from t to its normal form.

Keywords

Cite

@article{arxiv.2408.11007,
  title  = {Extending the Quantitative Pattern-Matching Paradigm},
  author = {Sandra Alves and Delia Kesner and Miguel Ramos},
  journal= {arXiv preprint arXiv:2408.11007},
  year   = {2024}
}

Comments

APLAS 2024, full version (including complete proofs)

R2 v1 2026-06-28T18:18:26.216Z