TYPECHECKING AND MODULES FOR MULTIMETHODS

Citation
C. Chambers et Gt. Leavens, TYPECHECKING AND MODULES FOR MULTIMETHODS, ACM SIGPLAN NOTICES, 29(10), 1994, pp. 1-15
Citations number
52
Categorie Soggetti
Computer Sciences","Computer Science Software Graphycs Programming
Journal title
Volume
29
Issue
10
Year of publication
1994
Pages
1 - 15
Database
ISI
SICI code
Abstract
Two major obstacles hindering the wider acceptance of multi-methods ar e concerns over the lack of encapsulation and modularity and the absen ce of static typechecking in existing multi-method-based languages. Th is paper addresses both of these problems. We present a polynomial-tim e static typechecking algorithm that checks the conformance, completen ess, and consistency of a group of method implementations with respect to declared message signatures. This algorithm improves on previous a lgorithms by handling separate type and inheritance hierarchies, abstr act 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 guar antee 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 algori thm 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.