Type Soundness for Path Polymorphism

Andrés Viso, Eduardo Bonelli, Mauricio Ayala-Rincón

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

Abstract

Path polymorphism is the ability to define functions that can operate uniformly over arbitrary recursively specified data structures. Its essence is captured by patterns of the form xy which decompose a compound data structure into its parts. Typing these kinds of patterns is challenging since the type of a compound should determine the type of its components. We propose a static type system (i.e. no run-time analysis) for a pattern calculus that captures this feature. Our solution combines type application, constants as types, union types and recursive types. We address the fundamental properties of Subject Reduction and Progress that guarantee a well-behaved dynamics. Both these results rely crucially on a notion of pattern compatibility and also on a coinductive characterisation of subtyping.

Original languageEnglish
Pages (from-to)235-251
Number of pages17
JournalElectronic Notes in Theoretical Computer Science
Volume323
DOIs
StatePublished - 11 Jul 2016

Keywords

  • Path Polymorphism
  • Pattern Matching
  • Static Typing
  • λ-Calculus

Fingerprint

Dive into the research topics of 'Type Soundness for Path Polymorphism'. Together they form a unique fingerprint.

Cite this