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 Rivieres, 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 Rivieres, are Members of the Research Staff, and Daniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox Palo Alto Research Center.
{"itemData":[{"priceBreaksMAP":null,"buyingPrice":40.6,"ASIN":"0262610744","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":30.1,"ASIN":"0201175894","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":30,"ASIN":"1435712757","isPreorder":0}],"shippingId":"0262610744::Qg63OLIXP4kvnTY0msC%2B9A6yWbhfRw6BgTziBxC780Zw0tMGhJTBstdyZYT1jtERj2qtBLqBq8PTQyVDyHaBK77nFqdbD1Gg,0201175894::wI%2FUM5GArXxy%2BwFoj0lWd1TqdiYIZd5LPLIQ8R%2Fgr39F2PDb6vz1gl%2B3aV8j4VR34ytbQVoyYslTA50W57%2FlfchPWzvpUUGq,1435712757::1JqJaV%2BYGFaVlUMngkDvwLETaTiU%2FZRJtalfeB9bK9gc%2B4nAiOj5EEAxp2l8%2BW%2FMorrvPU4QT%2B2zTeWTYLW%2BacYUxv%2BZlGnL","sprites":{"addToWishlist":["wl_one","wl_two","wl_three"],"addToCart":["s_addToCart","s_addBothToCart","s_add3ToCart"],"preorder":["s_preorderThis","s_preorderBoth","s_preorderAll3"]},"currenyCode":"EUR","shippingDetails":{"xz":"same","yz":"availability","xy":"availability","xyz":"availability"},"tags":["x","y","z"],"strings":{"showDetails":"Details anzeigen","differentAvailabilityAll":"Einige dieser Artikel sind schneller versandfertig als andere.","addToWishlist":[null,null,null],"shippingError":"Ein Fehler ist aufgetreten, bitte versuchen Sie es noch einmal","differentAvailability":"Einer der beiden Artikel ist schneller versandfertig.","preorder":["Diesen Artikel vorbestellen","Beide Artikel vorbestellen","Alle drei Artikel vorbestellen"],"addToCart":["In den Einkaufswagen","Beides in den Einkaufswagen","Alle drei in den Einkaufswagen"],"showDetailsDefault":"Verfügbarkeit und Versanddetails anzeigen","priceLabel":["Preis:","Preis für beide:","Preis für alle drei:"],"hideDetailsDefault":"Verfügbarkeit und Versanddetails verbergen","hideDetails":"Details ausblenden"}}
Kunden, die diesen Artikel gekauft haben, kauften auch
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.
Synopsis
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.
Einleitungssatz
In the interests of pedagogy and (relative) brevity, we have chosen to work with a simplified subset of CLOS. Lesen Sie die erste Seite
Eine digitale Version dieses Buchs im Kindle-Shop verkaufen
Wenn Sie ein Verleger oder Autor sind und die digitalen Rechte an einem Buch haben, können Sie die digitale Version des Buchs in unserem Kindle-Shop verkaufen.
Weitere Informationen
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.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com:4.5 von 5 Sternen 4 Rezensionen
18 von 18 Kunden fanden die folgende Rezension hilfreich
5.0 von 5 SternenA non-lisper's opinion17. Oktober 2005
Von T. Foley - Veröffentlicht auf Amazon.com
Format:Taschenbuch
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.
17 von 17 Kunden fanden die folgende Rezension hilfreich
4.0 von 5 SternenAuthoritative, but less useful than it could be26. März 2003
Von Christopher B. Browne - Veröffentlicht auf Amazon.com
Format:Taschenbuch
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...
21 von 22 Kunden fanden die folgende Rezension hilfreich
4.0 von 5 SternenHighly recommended, but fell short of my expectations29. Januar 2002
Von Robert Braddock - Veröffentlicht auf Amazon.com
Format:Taschenbuch
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.