Programming Languages and Systems
DOI: 10.1007/978-3-540-76637-7_5
|View full text |Cite
|
Sign up to set email alerts
|

Translation Correctness for First-Order Object-Oriented Pattern Matching

Abstract: Pattern matching makes ML programs more concise and readable, and these qualities are also sought in object-oriented settings. However, objects and classes come with open class hierarchies, extensibility requirements and the need for data abstraction, which all conflict with matching on concrete data types. Extractor-based pattern matching has been proposed to address this conflict. Extractors are user-defined methods that perform the task of value discrimination and deconstruction during pattern matching. In … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Publication Types

Select...
1
1

Relationship

1
1

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 15 publications
(20 reference statements)
0
2
0
Order By: Relevance
“…A simulation relation is demonstrated from target code to source code by induction on evaluation derivation and case study over the last applied evaluation rule. Closer to our work, [12] shows the correctness of an optimizing translation that compiles away pattern matching in Scala. Proof techniques analogous with ours are applied, i.e.…”
Section: Related Workmentioning
confidence: 70%
“…A simulation relation is demonstrated from target code to source code by induction on evaluation derivation and case study over the last applied evaluation rule. Closer to our work, [12] shows the correctness of an optimizing translation that compiles away pattern matching in Scala. Proof techniques analogous with ours are applied, i.e.…”
Section: Related Workmentioning
confidence: 70%
“…Thus type cases in pattern matching are translated into type tests and casts. For instance, the body of method extract in Figure 1 is translated into the code in Figure 2 by the Scala compiler [13]. Note that information about generics is erased.…”
Section: Introductionmentioning
confidence: 99%