--- 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/

Reply via email to