1996
DOI: 10.1006/inco.1996.0004
|View full text |Cite
|
Sign up to set email alerts
|

A Typed Pattern Calculus

Abstract: The theory of programming with pattern-matching function definitions has been studied mainly in the framework of first-order rewrite systems. We present a typed functional calculus that emphasizes the strong connection between the structures of whole pattern definitions and their types. In this calculus, type-checking guarantees the absence of runtime errors caused by non-exhaustive pattern-matching definitions. Its operational semantics is deterministic in a natural way, without the imposition of ad hoc solut… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
13
0

Year Published

2002
2002
2007
2007

Publication Types

Select...
5
1
1

Relationship

2
5

Authors

Journals

citations
Cited by 22 publications
(13 citation statements)
references
References 14 publications
0
13
0
Order By: Relevance
“…It is, however, interesting to remark that work on pattern calculi [15], which inspired the definition of ERSP, was built-via the Curry-Howard isomorphism, on a computational interpretation of Gentzen sequent calculus for intuitionistic minimal logic. As a consequence, each ERSP pattern constructor comes from the interpretation of some left logical rule of Gentzen calculus.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
See 2 more Smart Citations
“…It is, however, interesting to remark that work on pattern calculi [15], which inspired the definition of ERSP, was built-via the Curry-Howard isomorphism, on a computational interpretation of Gentzen sequent calculus for intuitionistic minimal logic. As a consequence, each ERSP pattern constructor comes from the interpretation of some left logical rule of Gentzen calculus.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
“…This formalism can be seen as an extension of ERSs [16] and SERSs [4] to the case of patterns, and an extension of [15] to the case of nonfunctional rewrite rules. Many simple notions in the mentioned previous works do not trivially extend to our case: on the one hand, the complexity of ERSPs does not only appear at the level of metaterms but also at the level of terms; on the other hand, binders are not always so simple as in the case of λ-calculus.…”
Section: Conclusion and Further Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Thus, we use sequent right rules for connectives (which are the same as the introduction rules of natural deduction) to build and type terms, left rules for connectives to build and type nested patterns, the sequent cut rule to model a general let construct (which is the starting point of computations), as well as an explicit substitution constructor, together with the sequent structural rules left contraction and left weakening to model the layered and wildcard patterns present in languages as ML or Haskell. In contrast to [27], which presents a calculus inspired from Gentzen sequent calculus that models programs with metalevel pattern-matching and substitution, we keep both operations as internal (or explicit). Also, the notion of reduction in [27] does not correspond to normalization of sequent proofs, but to normalization of proofs in natural deduction.…”
Section: Introductionmentioning
confidence: 99%
“…In contrast to [27], which presents a calculus inspired from Gentzen sequent calculus that models programs with metalevel pattern-matching and substitution, we keep both operations as internal (or explicit). Also, the notion of reduction in [27] does not correspond to normalization of sequent proofs, but to normalization of proofs in natural deduction. The novelty of our approach is the design of a typed pattern calculus as a computational interpretation of the Gentzen sequent proofs, thereby allowing to model pattern matching via cut elimination.…”
Section: Introductionmentioning
confidence: 99%