[DGD] Some basics
Stephen Schmidt
schmidsj at union.edu
Mon Oct 20 21:29:05 CEST 2003
On Mon, 20 Oct 2003, Noah Gibbs wrote:
> Yes, it destructs
> its ancestors... But even if they're destructed, they
> don't *really* go away until nobody references them
> (inherits from them) any more. That's why the ObjectD
> keeps a big list of destructed objects around. Those
> are libraries that somebody inherits from but that
> have been destructed already. When the last child of
> that library is recompiled (pointing at the new,
> non-destructed copy), the old destructed version goes
> away because nobody references it any more.
This raises a general question. When there are circular
references in a data structure (A refers to B which refers
to C which refers to A) then nothing can be destructed -
A can't be destructed because C refers to it, but C can't
be destructed because B refers to it and B can't be destructed
because A refers to it. But circular inheritance isn't (had
better not be!) possible.
Question 1: Can this kind of problem arise in ObjectD?
Question 2: I have a dim memory that LPMud, and maybe MudOS
also, suffered from something called a "lifetime lvalue bug"
which was never explained to me, but which was some kind of
circular-reference garbage-collection problem. Does DGD have
this problem as well? If so, what the heck is it? Or is my
memory just wrong in this case?
Steve
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list