POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Weak Calculus with Explicit Operators for Pattern Matching and Substitution
RTA '02 Proceedings of the 13th International Conference on Rewriting Techniques and Applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pattern matching as cut elimination
Theoretical Computer Science
Strong normalisation in two pure pattern type systems
Mathematical Structures in Computer Science
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Expression reduction systems with patterns
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Completing Herbelin's programme
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Expression reduction systems and extensions: an overview
Processes, Terms and Cycles
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
The theory of programming with pattern-matching functiondefinitions has been studied mainly in the framework of first-orderrewrite systems. We present a typed functional calculus that emphasizesthe strong connection between the structures of whole patterndefinitions and their types. In this calculus, type-checking guaranteesthe absence of runtime errors caused by non-exhaustive pattern-matchingdefinitions. Its operational semantics is deterministic in a naturalway, without the imposition of ad hoc solutions such as clause order or“best fit”. In the spirit of Curry-Howard homomorphism, wedesign the calculus as a computational interpretation of the Gentzensequent proofs for the intuitionistic propositional logic.We prove the basic properties connecting typing and evaluation: subjectreduction and strong normalization. We believe that this calculus offersa rational reconstruction of the pattern-matching features found insuccessful functional languages.—Authors' Abstract