Abstract
This paper proposes an object-oriented programming language framework that deliberately separates mechanism from policy. Mechanisms such as slot access and message passing are designed to have a natural semantics and to be efficient. Conventional and controversial concepts such as class, inheritance, and method combination, on the other hand, are classified as policy, and are left open to the user by providing so-called hook mechanisms. TAO is a language conforming to this framework and has only a few more than twenty primitives for object-oriented programming. This paper also gives examples illustrating how conventional concepts of object-oriented programming can be implemented on top of these primitives.
Preview
Unable to display preview. Download preview PDF.
References
G. Byers, et al. Allegro Common Lisp Manual, Coral Software Corp. and Franz, Inc., 1987.
W. Clinger and J. Rees (Eds.). Revised4 Report on the Algorithmic Language Scheme, 1991.
G. Kiczales, J. Rivières, and D.G. Bobrow. The Art of the Metaobject Protocol, MIT Press, 1991.
G.L. Steele Jr. Common Lisp the language, second edition, Digital Press, 1990.
B. Stroustrup. The C++ Programming Language, Addison-Wesley, 1986.
D. Unger and R.B. Smith. Self: The Power of Simplicity, OOPSLA '87 Conference Proceedings, p. 227–242, October, 1987.
D. Weinreb, D. Moon, and R.M. Stallman. Lisp Machine Manual, Fifth Edition, System Version 92, LMI, 1983.
W.A. Wulf, R. Levin, and S.P. Harbison. HYDRA/C.mmp: An Experimental Computer System, McGraw-Hill, 1981.
H. Yoshida, I. Takeuchi, K. Yamazaki and Y. Amagai. The Design of a List Processor SILENT, IPSJ SIG Notes 90-SYM-56, 1990 (in Japanese).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Yamazaki, K., Amagai, Y., Yoshida, M., Takeuchi, I. (1993). TAO: An object orientation kernel. In: Nishio, S., Yonezawa, A. (eds) Object Technologies for Advanced Software. ISOTAS 1993. Lecture Notes in Computer Science, vol 742. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57342-9_66
Download citation
DOI: https://doi.org/10.1007/3-540-57342-9_66
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57342-5
Online ISBN: 978-3-540-48075-4
eBook Packages: Springer Book Archive