Programming Books C Java PHP Python Learn more Browse Programming Books

The Art of the Metaobject Protocol

Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $2.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

The Art of the Metaobject Protocol [Paperback]

Gregor Kiczales , Jim des Rivieres , Daniel G. Bobrow
4.4 out of 5 stars  See all reviews (5 customer reviews)

List Price: $56.00
Price: $35.36 & FREE Shipping. Details
You Save: $20.64 (37%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 9 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Want it tomorrow, Oct. 2? Choose One-Day Shipping at checkout. Details


Amazon Price New from Used from
Hardcover --  
Paperback $35.36  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

July 30, 1991

The CLOS metaobject protocol is an elegant, 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 new approach to programming language design, describe its evolution and design principles, and present a formal specification of a metaobject protocol for CLOS.Kiczales, des Rivières, and Bobrow show that the "art of metaobject protocol design" lies in creating a synthetic combination of object-oriented 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.Gregor Kiczales and Jim des Rivières, are Members of the Research Staff, and Daniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox Palo Alto Research Center.

Frequently Bought Together

The Art of the Metaobject Protocol + Object-Oriented Programming in COMMON LISP: A Programmer's Guide to CLOS + Let Over Lambda
Price for all three: $97.84

Some of these items ship sooner than the others.

Buy the selected items together

Editorial Reviews Review

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.

About the Author

Gregor Kiczales is a Member of the Research Staff in the System Sciences Laboratory at Xerox Palo Alto Research Center.

Jim des Rivières 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.

Product Details

  • Paperback: 345 pages
  • Publisher: The MIT Press (July 30, 1991)
  • Language: English
  • ISBN-10: 0262610744
  • ISBN-13: 978-0262610742
  • Product Dimensions: 9.1 x 7.1 x 0.8 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #709,929 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.4 out of 5 stars
4.4 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
19 of 19 people found the following review helpful
4.0 out of 5 stars Authoritative, but less useful than it could be March 26, 2003
As a presentation of how to implement the Metaobject Protocol, this is about as authoritative a presentation of CLOS as can exist, short of being a formal (dry!) standards document.
Unfortunately, it falls way short in motivating the USE of the MOP. It shows how it is implemented, and has some examples of how to modify its behaviour. Which is wonderfully useful if your interest is in building your own implementation of MOP. It is not nearly so useful if you're trying to figure out how to apply it to less extraordinary purposes.
To that end, Keene's book on CLOS, which demonstrates quite a number of usage examples, is a vital companion...
Comment | 
Was this review helpful to you?
19 of 19 people found the following review helpful
5.0 out of 5 stars A non-lisper's opinion October 16, 2005
Although I am mostly a C/C++ programmer, I still found this book to be an interesting read. If you, like me, have an interest in programming language design and implementation I highly recommend it. As other reviewers have noted, however, the book has little material for Lisp programmers who just want to use the MOP without looking under the hood. I don't consider this a shortcoming - understanding the design and implementation of your language and tools helps in using them effectively.
Was this review helpful to you?
22 of 23 people found the following review helpful
4.0 out of 5 stars Highly recommended, but fell short of my expectations January 29, 2002
This was a disappointing purchase for me, as I read some of the book on-line (in CMU-CL's "Encycmuclopedia") and was rather stunned at the beauty and possibilities of the MOP (which, in short, is defining the core object system itself in terms of the object system, allowing you to use the full power of the object system class hierarchy/relationships to control your object semantics). The book is a pretty straight forward implentation discussion, which is certainly nice as a case study in implementing such an interrelated system and boot-strapping the MOP into use, but it is only that. The MOP is one of those perfect ideas with such vast potential that I would much rather have seen actual expressions of that potential instead of mere inner working details. If I'd know that, I would not have bought it--but then neither will I be selling my copy.
Comment | 
Was this review helpful to you?
10 of 11 people found the following review helpful
This book is the first so far to completely discuss the mechanisms of the Metaobject Protocol. This is an advanced treatment and will be of value to the experienced Lisp programmer. The book covers all aspects of the MOP in great detail and when the reader has finished it, he or she will be very comfortable with CLOS mechanisms, and even more importantly, why these features have been implemented in the ways that they have.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
4.0 out of 5 stars A classic, slightly dated. October 7, 2013
Format:Paperback|Verified Purchase
This is powerful, but it's also dense and takes a lot of work to read.

I'm a Ruby guy with a lot of metaprogramming experience... So to me this feels "obscured", but only because the vocabulary and conventions have changed a lot in 20 years. I don't think you *could* have explained these concepts better 20 years ago.

It's powerful to see all the reasoning behind this -- in some ways it boils down to inheritance and hooks for the basic object-oriented processes themselves (slot and method inheritance order, generic method lookup). But it's nice to see a very different structure for this than, say, Ruby takes.
Comment | 
Was this review helpful to you?
Search Customer Reviews
Search these reviews only

What Other Items Do Customers Buy After Viewing This Item?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category