Proc. of a conference on Functional programming languages and computer architecture
Proc. of a conference on Functional programming languages and computer architecture
Views: a way for pattern matching to cohabit with data abstraction
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Lawful functions and program verification in Miranda
Science of Computer Programming
Compiling pattern matching by term decomposition
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Left-to-right tree pattern matching
RTA-91 Proceedings of the 4th international conference on Rewriting techniques and applications
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Research topics in functional programming
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
A Functional Language for the Specification of Complex Tree Transformations
ESOP '88 Proceedings of the 2nd European Symposium on Programming
Implementation of Lazy Pattern Matching Algorithms
ESOP '88 Proceedings of the 2nd European Symposium on Programming
A Second Year Course on Data Structures Based on Functional Programming
FPLE '95 Proceedings of the First International Symposium on Functional Programming Languages in Education
Compilation of Non-Linear, Second Order Patterns on S-Expressions
PLILP '90 Proceedings of the 2nd International Workshop on Programming Language Implementation and Logic Programming
On the Existence of Initial Models for Partial (Higher-Order) Conditional Specifications
TAPSOFT '89/CAAP '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 1: Advanced Seminar on Foundations of Innovative Software Development I and Colloquium on Trees in Algebra and Programming
Functional programming with graphs
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Statically checkable pattern abstractions
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
An implementation of parallel pattern-matching via concurrent haskell
ACSC '02 Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
JMatch: Iterable Abstract Pattern Matching for Java
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Inductive graphs and functional graph algorithms
Journal of Functional Programming
Extensible pattern matching via a lightweight language extension
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Bialgebra views: a way for polytypic programming to cohabit with data abstraction
Proceedings of the ACM SIGPLAN workshop on Generic programming
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Translation correctness for first-order object-oriented pattern matching
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Gradual refinement: blending pattern matching with data abstraction
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Matching objects with patterns
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Science of Computer Programming
Hi-index | 0.00 |
In this paper we present a construction smoothly integrating pattern matching with abstract data types. We review some previous proposals [19, 23, 20, 6, 1] and their drawbacks, and show how our proposal can solve them. In particular we pay attention to equational reasoning about programs containing this new facility. We also give its formal syntax and semantics, as well as some guidelines in order to compile the construction efficiently.