ACM Home Page
Please provide us with feedback. Feedback
MultiJava: modular open classes and symmetric multiple dispatch for Java
Full text PdfPdf (197 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Minneapolis, Minnesota, United States
Pages: 130 - 145  
Year of Publication: 2000
ISBN:1-58113-200-X
Also published in ...
Authors
Curtis Clifton  Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA
Gary T. Leavens  Department of Computer Science, Iowa State University, 226 Atanasoff Hall, Ames, IA
Craig Chambers  Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA
Todd Millstein  Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 64,   Citation Count: 60
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/353171.353181
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Agrawal et al. 91
 
Arnold & Gosling 98
Bourdoncle & Merz 97
Boyland & Castagna 97
 
Bruce et al. 95
 
Cardelli 88
Castagna et al. 92
Castagna 95
 
Castagna 97
 
Chambers 92
 
Chambers 95
Craig Chambers. The Cecil Language: Specification and Rationale: Version 2.0. Department of Computer Science and Engineering, University of Washington, December, 1995. http:// www.cs.washington.edu/research/projects/cecil/www/Papers/ cecil-spec.html.
Chambers & Chen 99
Chambers & Leavens 95
 
Chambers 98
Craig Chambers. Towards Diesel, a Next-Generation OO Language after Cecil. Invited talk, The Fifth Workshop on Foundations of Object-oriented Languages, San Diego, California, January 1998.
 
Cook 90
 
Feinberg et al. 97
Neal Feinberg, Sonya E. Keene, Robert O. Mathews, and P. Tucker Withington. The Dylan Programming Book. Addison-Wesley Longman, Reading, Mass., 1997.
Findler & Flatt 98
 
Gamma et al. 95
 
Gosling et al. 00
Ingalls 86
 
Kiczales et al. 97
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin. Aspect-Oriented Programming. In proceedings of the Eleventh European Conference on Object- Oriented Programming, Finland. Springer-Verlag LNCS 1241. June 1997.
Leavens & Millstein 98
 
Martin 98
 
Millstein & Chambers 99
 
Millstein & Chambers
Todd Millstein and Craig Chambers. Modular Statically Typed Multimethods. To appear in Information and Computation.
 
Mugridge et al. 91
 
Nordberg 98
Odersky & Wadler 97
 
Paepcke 93
 
Shalit 97
 
Steele 90
 
Vlissides 99
John Vlissides. Visitor into Frameworks. C++ Report, 11(10):40-46. SIGS Publications, November/December 1999.

CITED BY  60

Collaborative Colleagues:
Curtis Clifton: colleagues
Gary T. Leavens: colleagues
Craig Chambers: colleagues
Todd Millstein: colleagues