Matching objects with patterns

  • Authors:
  • Burak Emir;Martin Odersky;John Williams

  • Affiliations:
  • EPFL, Lausanne, Switzerland;EPFL, Lausanne, Switzerland;Language Computer Corporation, Richardson TX

  • Venue:
  • ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data in object-oriented programming is organized in a hierarchy of classes. The problem of object-oriented pattern matching is how to explore this hierarchy from the outside. This usually involves classifying objects by their runtime type, accessing their members, or determining some other characteristic of a group of objects. In this paper we compare six different pattern matching techniques: object-oriented decomposition, visitors, type-tests/type-casts, typecase, case classes, and extractors. The techniques are compared on nine criteria related to conciseness, maintainability and performance. The paper introduces case classes and extractors as two new pattern-matching methods and shows that their combination works well for all of the established criteria.