archives

Type Checking and Modules for Multi-Methods


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Chambers, Craig and Leavens, Gary T. (1995) Type Checking and Modules for Multi-Methods. Technical Report TR95-19, Department of Computer Science, Iowa State University.

Full text available as:Postscript
Adobe PDF

Abstract

Typechecking and Modules for Multi-Methods
by
Craig Chambers and Gary T. Leavens
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.
An earlier version of this report appears in the proceedings of
OOPSLA '94, October 1994. This report, minus the appendices,
will appear in ACM TOPLAS.
Copyright (c) 1995 by the Association for Computing Machinery,
Inc. Permission to make digital or hard copies of part or all of this
work for personal or classroom use is granted without fee provided
that copies are not made or distributed for profit or commercial
advantage and that new copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by
others than ACM must be honored.  Abstracting with credit is
permitted. To copy otherwise, to republish, to post on servers, or to
redistribute to lists, requires prior specific permission and/or a
fee.  Request permissions from Publications Dept, ACM Inc.,
fax +1 (212) 869-0481, or .
Appendix copyright (c) Craig Chambers and Gary T. Leavens, 1995.

Subjects:All uncategorized technical reports
ID code:00000108
Deposited by:Staff Account on 02 October 1995



Contact site administrator at: ssg@cs.iastate.edu