Works for me on the elephant-1.0 repository. You have to indicate in the base class that subclasses will inherit its index. Then you do get-instances-by-value/range on any class on the inherited slotname to get all instances inheriting from the base.

Ian

On Jul 14, 2009, at 4:01 PM, Red Daly wrote:

On Tue, Sep 16, 2008 at 7:20 AM, Ian Eslick <esl...@media.mit.edu> wrote: There is an :inherit slot keyword option for indexed slots. It causes subclasses of the defining class to share the index of the base class. You can inhibit subclass sharing by re-defining the slot in the base class. I found a bug in unstable and patched it so this works again.

As far as I can tell, this feature is now missing.  Am I mistaken?



Calling map-inverted-index (and the top-level API fn's get-instances- by-value/range) from the base or subclasses will return instances for all classes that share that base index. We could add some refinements such as mapping from a subclass filters out any superclass instances during the traversal.

We can easily add a keyword arg to map-class and get-instances-by- class to return all subclass instances as well.

Ian

Red

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to