<html><body>
<p><tt>xotcl-bounces@alice.wu-wien.ac.at wrote on 03/17/2006 08:25:37 AM:<br>
<br>
&gt; <br>
&gt;<br>
&gt; A double-reference would solve this. In that way the handle returned &nbsp;<br>
&gt; by [new] &nbsp;and [self] would always be a valid command for the object, &nbsp;<br>
&gt; throughout its whole lifetime. If it is moved to be a child of &nbsp;<br>
&gt; another object the handle remains the same (or at least can be used), &nbsp;<br>
&gt; but the ownership is changed. Whether this is workable in XOTcl or &nbsp;<br>
&gt; not is, of course, something you would be better at deciding.<br>
</tt><br>
<tt>I've been thinking along somewhat different lines, the classic &quot;extra level of indirection&quot; that solves all problems. &nbsp;What about using interpreter aliases as an indirection? &nbsp;What would happen if all objects were created as anonymous commands inside (say) the xotcl namespace, and the object name was just an alias to the anonymous object?</tt><br>
<br>
<tt>This would let move be straightforward, drop the old alias and create a new one. From what I've inferred of xotcl's implementation, I think xotcl would be (mostly) unaffected by the change. &nbsp;The one thing that I think might be busted would be is parent/child relationships. Rather than introspecting into the commands, you'd have to introspect the aliases (relationships would be inferred by alias location instead of command &nbsp;location). That might be difficult, Tcl aliases are surprisingly hard to introspect. </tt><br>
<br>
<tt>I also don't know what the performance implications would be (I think an alias introduces some overhead). &nbsp;But if objects didn't ever move, there might be some potential optimizations available too. </tt><br>
<br>
<tt>Just a thought...</tt><br>
<br>
<tt>        Scott</tt></body></html>