Abstract
In object-oriented programming languages, multiple-dispatching provides increased expressive power over single-dispatching by guiding method look-up using the values of all arguments instead of the receiver only. There have been several programming languages supporting this mechanism and they demonstrate its usefulness. However, efficient implementation of multi-methods is still critical with regard to its success as a standard. In this paper, we present a new mechanism for implementing multi-methods dynamic lookup based on automaton techniques. Analysis and experimental results show that our strategy is time and space efficient. The presented result can provide the basis for designing new object-oriented paradigms based on multi-methods.
Preview
Unable to display preview. Download preview PDF.
References
Agrawal, R., Borgida, A., and Jagsdish, H. V. Efficient Management of Transitive Relationships in Large Data And Knowledge Bases. In Proc. ACM-SIGMOD Int'l Conf. on Management of Data, 1989.
Agrawal, R., DeMichiel, L. G., and Lindsay, B. G. Static Type Checking of Multi-Methods. In Proc. Conf. OOPSLA, 1991.
Aho, A. V., and Ullman. J. D. The Theory of Parsing, Translation, and Compiling. Prentice-Hall, INC. 1972.
André, P., and Royer, J.-C. Optimizing Method Search with Lookup Caches and Incremental Coloring. In Proc. Conf. OOPSLA, 1992.
Bobrow, D. G., Kahn, K., Kiczales, G., Masinter, L., Stefik, M., and Zdybel, F. CommonLoops: Merging Lisp and Object-Oriented Programming. In Proc. Conf. OOPSLA, 1986.
Bobrow D. G., DeMichiel, L. G., Gabriel, R. P., Keene, S. E., Kiczales, G., and Moon, D. A. Common Lisp Object System Specification X3J13. In SIGPLAN Notice 23, special issue, Sept. 1988.
Cardelli, L., and Wegner, P. On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing Surveys, 17(4), Dec. 1985.
Chambers, C. Object-oriented Multi-Methods in Cecil. In Proc. Conf. ECOOP, 1991.
Dixon, R. Vaughan, P., and Schweizer, P. A Fast Method Dispatcher for Compiled Language with Multiple Inheritance. In Proc. Conf. OOPSLA, 1989.
Ducournau, R., Habib, M., Huchard, M., and Mugnier, M. L. Monotonic Conflict Resolution Mechanisms for Inheritance. In Proc. Conf. OOPSLA, 1992.
Dussud, P. H. TICLOS: An Implementation of CLOS for the Explorer Family. In Proc. Conf. OOPSLA, 1990.
Ingalls, D. H. H. A Simple Technique for Handing Multiple Polymorphism. In Proc. Conf. OOPSLA, 1986.
Kiczales, G., and Rodriguez, L. Efficient Method Dispatch in PCL. In Proc. Conf. on Lisp and Functional Programming, 1990.
Lécluse, C, and Richard, P. Manipulation of Structured Values on Object-Oriented Databases. In Proc. Second Int'l Workshop on Database Prog. Lang., 1989.
Moon, D, and Weinreb, D. Lisp Machine Manual, MIT AI Lab, 1981, Chapter 20.
Moon, D. Object Oriented Programming with Flavors. In Proc. Conf. OOPSLA, 1986.
Mugridge, W. G., Hamer, and Hosking, J. G. Multi-Methods in a Statically-Typed Programming Language. In Proc. Conf. ECOOP, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chen, W., Turau, V., Klas, W. (1994). Efficient dynamic look-up strategy for multi-methods. In: Tokoro, M., Pareschi, R. (eds) Object-Oriented Programming. ECOOP 1994. Lecture Notes in Computer Science, vol 821. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0052194
Download citation
DOI: https://doi.org/10.1007/BFb0052194
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58202-1
Online ISBN: 978-3-540-48567-4
eBook Packages: Springer Book Archive