[DGD] Clonables versus Inheritables
Josh Dady
jpd at indecisive.com
Tue Aug 9 16:03:01 CEST 2005
On Aug 9, 2005, at 2:23 AM, Noah Gibbs wrote:
> Necessary for runtime compilation, actually. Or at least, for
> full upgrade.
>
> DGD has a restriction that you basically can't upgrade a class
> that is both
> cloned (like, has clones of it) and inherited from.
Well, strictly speaking, you can't upgrade something that is only
inherited either. :) The kernel's rules prevent multiple compiled
versions of the same object from existing at the same time. Any
inherited object can't be upgraded, so the master must be destroyed
and re-created. Both clones and daemon objects can be upgraded by
recompiling the master. Because of this, the kernel blocks access to
inheritable objects for anything but inheriting them; that way you
can always upgrade any real object (i.e., one you've got data in or
call functions upon) by following the inherit path down from the auto
object.
--
Joshua P. Dady
More information about the DGD
mailing list