TAO: An object orientation kernel
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.
KeywordsMessage Passing Object Region Object Orientation Method Handler Object Symbol
Unable to display preview. Download preview PDF.
- [Byers87]G. Byers, et al. Allegro Common Lisp Manual, Coral Software Corp. and Franz, Inc., 1987.Google Scholar
- [Clinger91]W. Clinger and J. Rees (Eds.). Revised4 Report on the Algorithmic Language Scheme, 1991.Google Scholar
- [Kiczales91]G. Kiczales, J. Rivières, and D.G. Bobrow. The Art of the Metaobject Protocol, MIT Press, 1991.Google Scholar
- [Steele90]G.L. Steele Jr. Common Lisp the language, second edition, Digital Press, 1990.Google Scholar
- [Stroustrup86]B. Stroustrup. The C++ Programming Language, Addison-Wesley, 1986.Google Scholar
- [Unger87]D. Unger and R.B. Smith. Self: The Power of Simplicity, OOPSLA '87 Conference Proceedings, p. 227–242, October, 1987.Google Scholar
- [Weinreb83]D. Weinreb, D. Moon, and R.M. Stallman. Lisp Machine Manual, Fifth Edition, System Version 92, LMI, 1983.Google Scholar
- [Wulf81]W.A. Wulf, R. Levin, and S.P. Harbison. HYDRA/C.mmp: An Experimental Computer System, McGraw-Hill, 1981.Google Scholar
- [Yoshida90]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).Google Scholar