Hi! In the CLOS-like language Closette presented in AMOP (The Art of the Metaobject Protocol) there is a generic method named `slot-value-using-class' which is used to access the slots of specific instances. For example this method is used by `slot-value' (`slot-ref' in GOOPs). In AMOP this generic method is used to implement classes where every access and modification of slots is logged. It is also used to implement a class with a kind of dynamic allocation of slots.
In GOOPs however the corresponding function `slot-ref-using-class' is not generic. My question is if someone know why this is the case? Or maybe someone can point me to some documentation which may contain information about this? My usecase if anyone wanted to know is to implement python-like attributes as slots for instances. I.e. slots which is not class specific but instead is only related to the current instance. These slots should be accessible by using the standard `slot-ref' and `slot-set! functions in GOOPs. My guess is that by making `slot-ref-using-class' generic makes it impossible to memoize slot locations for these kinds of classes. However this doesn't seem to be reason enough not to make it a generic method and I wouldn't be suprised if there is some other reason which I don't understand yet. Thanks, David
