[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