[toronto-lisp] Request for advice on learning CLOS and MOP (mostly MOP)

I have been working my way through Seibel's Practical Common Lisp. In one of the chapters (ch.24) Seibel illustrates keeping track of the inherited slots of a class by tucking the information away in a symbol plist. This immediately made me wonder why he did not use something built in to the object system to query a class about itself. Thus I came to investigate MOP stuff, which I believe does provide for the functionality needed in Seibel's example. (I used MOP fns CLASS-SLOTS and CLASS-DIRECT-SLOTS to do the job.) I am considering ordering the book The Art of the MetaObject Protocol by Kiczales et al. However, I wonder if that is really the book I want. I am not so much interested in how it is all implemented as I am in learning about fairly pragmatic reflection functionality. Is anyone familiar with this book? Is it mostly about implementing CLOS? Is there a better resource for learning to use MOP functionality at a basic level? thx - Dave -

I am considering ordering the book The Art of the MetaObject Protocol by Kiczales et al. However, I wonder if that is really the book I want. I am not so much interested in how it is all implemented as I am in learning about fairly pragmatic reflection functionality.
The Art of the MetaObject Protocol is primarily about designing OOP systems (hence, meta-object protocols) using a CLOS implementation as an example. That involves a fair amount of reflection, so I'd say it may fit your needs, perhaps at a deeper level than you require. R.

ok thanks. I guess I'll order the book. I don't find much else out there even on the use of the MOP functions. - Dave - On 2009-11-15, at 12:30 PM, Rick Innis wrote:
I am considering ordering the book The Art of the MetaObject Protocol by Kiczales et al. However, I wonder if that is really the book I want. I am not so much interested in how it is all implemented as I am in learning about fairly pragmatic reflection functionality.
The Art of the MetaObject Protocol is primarily about designing OOP systems (hence, meta-object protocols) using a CLOS implementation as an example. That involves a fair amount of reflection, so I'd say it may fit your needs, perhaps at a deeper level than you require.
R.
_______________________________________________ toronto-lisp mailing list toronto-lisp@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/toronto-lisp

On Mon, Nov 16, 2009 at 9:13 AM, David Penton <djp@arqux.com> wrote:
ok thanks. I guess I'll order the book. I don't find much else out there even on the use of the MOP functions.
I *like* the Keene book, but it predates MOP, so doesn't have much on what you're after. The Kiczales book "goes too far" for what you're after (it's on how to implement a MOP!), but that does mean it includes what you need. -- http://linuxfinances.info/info/linuxdistributions.html Pablo Picasso - "Computers are useless. They can only give you answers." - http://www.brainyquote.com/quotes/authors/p/pablo_picasso.html
participants (3)
-
Christopher Browne
-
David Penton
-
Rick Innis