ACM Home Page
Please provide us with feedback. Feedback
Typechecking and modules for multi-methods
Full text PdfPdf (2.28 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications table of contents
Portland, Oregon, United States
Pages: 1 - 15  
Year of Publication: 1994
ISBN:0-89791-688-3
Also published in ...
Authors
Craig Chambers  Department of Computer Science and Engineering, University of Washington
Gary T. Leavens  Department of Computer Science, Iowa State University
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 12,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

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/191080.191083
What is a DOI?

ABSTRACT

Two major obstacles hindering the wider acceptance of multi-methods are concerns over the lack of encapsulation and modularity and the absence of static typechecking in existing multi-method-based languages. This paper addresses both of these problems. We present a polynomial-time static typechecking algorithm that checks the conformance, completeness, and consistency of a group of method implementations with respect to declared message signatures. This algorithm improves on previous algorithms by handling separate type and inheritance hierarchies, abstract classes, and graph-based method lookup semantics. We also present a module system that enables independently-developed code to be fully encapsulated and statically typechecked on a per-module basis. To guarantee that potential conflicts between independently-developed modules have been resolved, a simple well-formedness condition on the modules comprising a program is checked at link-time. The typechecking algorithm and module system are applicable to a range of multi-method-based languages, but the paper uses the Cecil language as a concrete example of how they can be applied.


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.

 
Ada 83
Reference Manual for the Ada Progrcunming Language, ANSI/MIL-STD 1815A, 1983.
Agrawal et al. 91
 
America 87
America & van der Linden 90
Amiel et al. 94
 
Barnes 91
J. G. P. Barnes. Programming in Ada (third edition). Addison-Wesley, Wokingham, England, 1991.
Bobrow et al. 88
Bracha & Griswold 93
Bruce et al. 93
Canning et al. 89
Cardelli & Wegner 85
 
Cardelli & Mitchell 89
Castagna et al. 92
 
Chambers 92
 
Chambers 93
Craig Chambers. The Cecil Language: Specification and Rationale. Technical report #93-03-05, Department of Computer Science and Engineering, University of Washington, March, 1993.
 
Chambers & Leavens 94
Craig Chambers and Gary T. Leavens. Type.checking and Modules for Multi-Methods. Technical report #94-03-01, Department of Computer Science and Engineering, University of Washington, March, 1994.
 
Chen & Turau 94
Cook et al. 90
 
Cook 90
 
Dean et al. 94
Jeffrey Dean, Craig Chambers, and David Grove. Identifying Profitable Specialization in Object-Oriented Languages. In Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, Orlando, FL, June, 1994. Available as Technical Report 94/9, Department of Computer Science, University of Melbourne, 1994.
Ghelli 91
 
Goldberg & Robson 83
 
Goguen 84
Joseph A. Goguen. Parameterized Programming. In IEEE Transactions on Software Engineering 10(5), pp. 528-543, September, 1984.
Harrison & Ossher 93
 
Hölzle 93
Hudak et al. 92
 
Leavens 91
Leavens & Weihl 90
Liskov et al. 77
 
Liskov et al. 81
Barbara Liskov, Russell Atkinson, Toby Bloom, Eliot Moss, J. Craig Schaffert, Robert Scheifler, and Alan Snyder. CLU Reference Manual. Lecture Notes in Computer Science, volume 114, Springer-Verlag, New York, NY, 1981.
Liskov & Zilles 74
 
Meyer 88
 
Meyer 92
 
Milner et al. 90
 
Mössenböck & Wirth 91
H. M6ssenb6ck and Niklaus Wirth. The Programming Language Oberon-2. Structured Programming 12(4), 1991.
 
Mugridge et al. 91
 
Nelson 91
 
Paepcke 93
 
Palsberg & Schwartzbach 94
 
Parnas 71
D. L. Parnas. Information Distribution Aspects of Design Methodology. Proceedings of IFIP Congress 71. IFIP, 1971.
Parnas 72
 
Paulson 91
 
Pierce & Turner 92
Benjamin C. Pierce and David N. Turner. Statically Typed Multi-Methods via Partially Abstract Types. Unpublished manuscript, October, 1992.
Rouaix 90
Schaffert et al. 86
Snyder 86
 
Steele 90
 
Stroustrup 91
 
Szyperski 92
 
Touretzky 86
Wirfs-Brock & Wilkerson 88
 
Wirth 88


Collaborative Colleagues:
Craig Chambers: colleagues
Gary T. Leavens: colleagues

Peer to Peer - Readers of this Article have also read: