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.