Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
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.3 out of 5 stars  See all reviews (3 customer reviews)
List Price: CDN$ 60.10
Price: CDN$ 38.15 & FREE Shipping. Details
You Save: CDN$ 21.95 (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 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, August 5? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Hardcover --  
Paperback CDN $38.15  
Join Amazon Student in Canada


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.


Customers Who Bought This Item Also Bought


Product Details


Product Description

From Amazon

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.

Inside This Book (Learn More)
First Sentence
In the interests of pedagogy and (relative) brevity, we have chosen to work with a simplified subset of CLOS. Read the first page
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

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

Customer Reviews

3 star
0
2 star
0
1 star
0
4.3 out of 5 stars
4.3 out of 5 stars
Most helpful customer reviews
4.0 out of 5 stars Authoritative, but less useful than it could be March 26 2003
Format:Paperback
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...
Was this review helpful to you?
Format:Paperback
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.
Was this review helpful to you?
Format:Paperback
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.
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.4 out of 5 stars  5 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
By Christopher B. Browne - Published on Amazon.com
Format:Paperback
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...
19 of 19 people found the following review helpful
5.0 out of 5 stars A non-lisper's opinion Oct. 16 2005
By T. Foley - Published on Amazon.com
Format:Paperback
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.
22 of 23 people found the following review helpful
4.0 out of 5 stars Highly recommended, but fell short of my expectations Jan. 29 2002
By Robert Braddock - Published on Amazon.com
Format:Paperback
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.
10 of 11 people found the following review helpful
5.0 out of 5 stars A Must if want to control your Object Inheritence Mechanisms Nov. 8 1997
By terry.west@cybersafe.com - Published on Amazon.com
Format:Paperback
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.
1 of 1 people found the following review helpful
4.0 out of 5 stars A classic, slightly dated. Oct. 7 2013
By Noah Gibbs - Published on Amazon.com
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.
Search Customer Reviews
Only search this product's reviews

Look for similar items by category


Feedback