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.

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

On Sep 16, 2008, at 7:53 AM, Leslie P. Polzer wrote:


so do you people think that inheritance support on map level is a right
thing?

Yes, definitely.

Got a code draft?

--
LinkedIn Profile: http://www.linkedin.com/in/polzer
Xing Profile: https://www.xing.com/profile/LeslieP_Polzer
Blog: http://blog.viridian-project.de/

_______________________________________________
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