[elephant-devel] sb-mop:finalize-inheritance

Ian Eslick eslick at media.mit.edu
Mon Feb 8 21:08:16 UTC 2010


The Elephant MOP overloads class objects to store a variety of data.  The MOP only guarantees to call finalize-inheritance at the latest when an instance is created, so if you call get-instances-by-class, the Elephant MOP has to make sure to call finalize-inheritance.

Sounds like we need to do the same thing during persistent class initialization or change the way in which the Elephant MOP creates new classes (so finalization isn't needed until the first instance creation time or other operation over the classes).

Ian


On Feb 7, 2010, at 1:14 PM, Lukas Gießmann wrote:

> Hi,
> 
>> LG> Is it necessary to call sb-mop:finalize-inheritance explecitely?
>> 
>> Elephant should call this function itself before trying to get 
>> class-slots. I guess it calls it too late or too early...
>> 
>> LG> Maybe the class-hierarchy can help a little bit:
>> 
>> Do you load your source files in this order?
> 
> There is one file which includes the entire data model. And the definitions 
> are ordered as mentioned before.
> 
>> I'm not sure it would work correctly if you define PointerC before 
>> defining TopicMapConstructC.
> 
> A first update based on your suggestion works correctly ( - but at the 
> moment I am not sure if the entire data model does).
> Could you just explain your change in one or two sentences?
> 
> Thanks for your fast answer.
> 
> 
> Best regards
> 
> Lukas 
> 
> 
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel





More information about the elephant-devel mailing list