[closer-devel] Redefining classes

Pascal Costanza pc at p-cos.net
Thu Dec 1 21:07:43 UTC 2005


On 1 Dec 2005, at 20:27, Michael Weber wrote:

> However, it is surprising to me that there seems to be no protocol
> available to reinitialize subclasses if a class changes (Issue #2), so
> that EQL-OBJECTS for BAR-1 would be regenerated with up-to-date
> information about class slots of its superclasses.

I have checked the MOP specification, and indeed it seems to be  
lacking in this regard. There should be a specification about when  
finalize-inheritance is called again, whether an implementation can  
choose to delay re-finalization, what class-finalized-p should  
indicate, and so on, but this is all missing (unless I am seriously  
missing something important).

But here is another idea: if your methods should depend on the  
effective rather than the direct slots, you could as well generate  
them in an :after method on compute-effective-slot-definition. That  
one should be called when the direct slot definitions of superclasses  
change...

I hope this helps...


Pascal

-- 
Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium







More information about the closer-devel mailing list