MultiJava: modular open classes and symmetric multiple dispatch for Java

By Curtis Clifton, Gary T. Leavens, Craig Chambers, Todd D. Millstein. Conference on Object-Oriented Programming Systems, Languages, and Applications, 2000

356 citations recorded by the source corpus.

We present MultiJava, a backward-compatible extension to Java supporting open classes and symmetric multiple dispatch. Open classes allow one to add to the set of methods that an existing class supports without creating distinct subclasses or editing existing code. Unlike the "Visitor" design pattern, open classes do not require advance planning, and open classes preserve the ability to add new subclasses modularly and safely. Multiple dispatch offers several well-known advantages over the single dispatching of conventional object-oriented languages, including a simple solution to some kinds of "binary method" problems. MultiJava's multiple dispatch retains Java's existing class-based encapsulation properties. We adapt previous theoretical work to allow compilation units to be statically typechecked modularly and safely, ruling out any link-time or run-time type errors. We also present a n compilation scheme that operates modularly and incurs performance overhead only where open classes or multiple dispatching are actually used.

Subfields: Artificial Intelligence, Computational Theory and Mathematics

View Paper: https://www.semanticscholar.org/paper/e2e12a5b9715c99da86bc27ec5378d66dc3ba32f

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Mira Mezini
  2. Don S. Batory
  3. Michael R. Clarkson
  4. A. Myers
  5. Klaus Ostermann
  6. Nathaniel Nystrom
  7. Christian Kästner
  8. Sven Apel

In Computational Theory and Mathematics

  1. A. Myers
  2. Mira Mezini
  3. Don S. Batory
  4. Klaus Ostermann
  5. Michael R. Clarkson
  6. Kenneth J. Tanner

Citations in the corpus