<html><body>
<p><tt>xotcl-bounces@alice.wu-wien.ac.at wrote on 03/20/2006 12:29:57 PM:<br>
<br>
&gt; <br>
&gt; On 20 Mar 2006, at 18:13, Koen Danckaert wrote:<br>
&gt; <br>
&gt; &gt;&gt;&gt;&gt; I have added &quot;::xotcl::mymethod&quot; and &quot;::xotcl::myvar&quot; to my<br>
&gt; &gt;&gt;&gt;&gt; development version. i guess, you would you prefer to have<br>
&gt; &gt;&gt;&gt;&gt; these exported. Opinions?<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On giving it some thought I think I actually prefer the version &nbsp;<br>
&gt; &gt;&gt;&gt; that &nbsp;would be part of Object. After all, it is that object's &nbsp;<br>
&gt; &gt;&gt;&gt; variable that &nbsp;we want.</tt><br>
<br>
<tt>I also think it should be methods. An object owns its methods/variables, you should have to ask the object for a reference. &nbsp;Just reach in from outside and grabbing a reference feels...rude.</tt><br>
<br>
<tt>Asking the object also gives it a chance to overload it. &nbsp;I can't imagine why, but an object might want to know that something has a reference to its internal state.<br>
</tt><br>
<tt>&gt; It's only really necessary for variables which are linked to other &nbsp;<br>
&gt; systems as for callbacks you can generally do f.ex.:<br>
&gt; <br>
&gt; after 100 [list [self] doStuff]<br>
&gt; <br>
&gt; which is what I actually do. I mean, presumably the problem with &nbsp;<br>
&gt; using a method by its direct namespace is also that filters get &nbsp;<br>
&gt; avoided, or? (at least I think it was that way at some point in &nbsp;<br>
&gt; XOTcl's history). That, to me, would mean it's not a good method &nbsp;<br>
&gt; except for very specific cases.<br>
</tt><br>
<tt>I would expect that [list [self] dostuff] is what [my &amp;method doStuff] returns. &nbsp;Isn't that the desired behavior to return a list that when evaluated acts as though you have invoked the method on the object?</tt><br>
<br>
<tt>At least, that's what snit does with &quot;mymethod&quot;. &nbsp;Although snit doesn't have nearly the same design space as XOTcl, so maybe it's not comparable.</tt><br>
<br>
<tt>        Scott</tt></body></html>