[DGD]kernel cloning and inheriting

Stephen Schmidt schmidsj at union.edu
Thu Feb 15 15:52:05 CET 2001


On Thu, 15 Feb 2001, Erwin Harte wrote:
> It has to do with practical limitations.  The compile_object() kfun
> can be used to compile an already existing object in-place, but you
> cannot re-compile an inherited object.
> If you would allow an object to be cloned -and- inherited, this would
> lead to situations where you are basically stuck: You cannot re-
> compile the object because it is inherited, but you need to destruct
> it, compile it, and re-compile (or destruct + compile) any objects
> that in turn inherited the original object.

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.

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.
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.

I don't think I have 5 right. Why does the existence of Ac
make it impossible to recompile the inherited A object,
when that would be possible if Ac did not exist? It must
have something to do with Ac re-using A's code, but what
would be the harm if the recompiling of A simply changed
the behavior of Ac?

Or, why is it that you can recompile A if Ac exists but
B does not?

> Of course, from a conceptual point of view it doesn't hurt to keep the
> different 'types' of objects separated.

Most certainly.

Steve





List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list