[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