--- james anderson <[EMAIL PROTECTED]> wrote: > - define utility functions for yourself which > delegate to the implementation specific mop operators
Yeah, I've already got those, basically, at least for class-direct-superclasses and class-direct-subclasses. It looks like I probably need my own find-class and class-of to wrap pcl:find-class and pcl:class-of > - mop use-cases are easier to follow if one is more > strict in how they > use the terms. to wit: > > > > I have a metaclass called parser-class that is the > > metaclass of all the classes that get > instantiated. > > This metaclass [declares] a slot called parseinfo, > [to] hold[] > > the patterns to match against. > > the respective abstract and concrete classes are the > ones which "have" > the slot. I'll try to be more strict in the future. I understood beforehand that I was just declaring the metaclass, and the instances of that metaclass were what would have the slot. It looks like I just need pcl::standard-class as the superclass of my meta class, and (defmethod pcl:validate-superclass ((class parser-class) (superclass pcl::standard-class)) T) after the defclass form for parser-class but before any defclass forms that use (:metaclass parser-class). After that, with appropriately wrapped pcl:find-class and pcl:class-of, pcl:class-direct-superclasses and pcl:class-direct-subclasses, it looks like it should be fairly easy. If anyone sees any gotchas here, let me know. __________________________________ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/
