[DGD]kernel cloning and inheriting
Felix A. Croes
felix at dworkin.nl
Thu Feb 15 17:26:32 CET 2001
Stephen Schmidt <schmidsj at union.edu> wrote:
>[...]
> Let me see if I have this straight; I'm pretty sure at
> some level I don't. Consider three objects, A, Ac, and B.
> Ac is a clone of A; B inherits A.
In the kernel library, inheritables are not clonable, but I
assume that you are talking about the general case.
> 1. You can recompile B because nothing inherits it.
> 2. You cannot recompile Ac because it is a clone; to recompile
> Ac is basically to recompile A.
Yes. Recompiling Ac is impossible, but if you could recompile A,
all clones would be upgraded as well.
> 3. You cannot recompile A because B inherits it.
> 4. You could recompile A if you first destructed B, but then
> object B would be lost. In a persistant world, the loss of
> B during the recompilation of A could be problematic.
> 5. You could recompile both B and A if Ac did not exist. (?)
> The root problem is that if you try to recompile A in
> the presence of Ac, then Ac is forced to change along
> with B, and Ac might not want to do that.
If Ac did not exist, and A was a pure inheritable object, you could
have upgraded A and B with the following sequence:
destruct A
recompile B (will automatically compile A also)
As it is, you can still do this, but of course the state of A will
be lost thereby. If A was a pure inheritable/clonable without its
own state, you can do this without negative effects on A and B.
Ac, however, will continue to use the old program of A, since A
was destructed before it was recompiled. Only if A had been
recompiled without deing destructed first -- impossible because of
B -- would ac have been upgraded also.
Regards,
Dworkin
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list