This book details the meta-object protocol, the framework on which the Common Lisp object system (CLOS) is based. The philosophy behind the meta-object protocol is that different applications may require different kinds of object models, and so the object model itself should be subject to program control. The Art of the Meta-Object Protocol
provides a wonderful working example of how Lisp can be extended and how it can evolve to incorporate new language constructs. First, the book describes how CLOS is actually implemented by working through a subset. Then it goes on to develop the meta- object protocol in great detail. The Art of the Meta-Object Protocol
is useful for the advanced CLOS user as well as for anyone interested in object-oriented programming and language design.
The CLOS metaobject protocol is a high-performance extension to the CommonLisp Object System. The authors, who developed the metaobject protocol and who were among the group that developed CLOS, introduce this approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS. The authors show that the "art of metaobject protocol design" lies in creating a synthetic combination of object-orientated and reflective techniques that can be applied under existing software engineering considerations to yield a new approach to programming language design that meets a broad set of design criteria. One of the major benefits of including the metaobject protocol in programming languages is that it allows users to adjust the language to better suit their needs. Metaobject protocols also disprove the adage that adding more flexibility to a programming language reduces its performance.
In presenting the principles of metaobject protocols, the authors work with actual code for a simplified implementation of CLOS and its metaobject protocol, providing an opportunity for the reader to gain hands-on experience with the design process. They also include a number of exercises that address important concerns and open issues.
Über den Autor und weitere Mitwirkende
Gregor Kiczales is a Member of the Research Staff in the System Sciences Laboratory at Xerox Palo Alto Research Center. Jim des Rivieres is a Member of the Research Staff in the System Sciences Laboratory at Xerox Palo Alto Research Center. Daniel G. Bobrow is a Research Fellow in the Intelligent Systems Laboratory, Xerox Palo Alto Research Center, editor-in-chief of the Journal of Artificial Intelligence, and Chair of the Governing Board of the Cognitive Science Society.