<br><br><div class="gmail_quote">On Wed, Nov 4, 2009 at 12:51 AM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2009/11/4 Andreas Raab &lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Nicolas Cellier wrote:<br>
&gt;&gt;<br>
&gt;&gt; The main use I see is to quickly modify in an inspector, especially in<br>
&gt;&gt; the debugger.<br>
&gt;<br>
&gt; Fair enough. But in this case, wouldn&#39;t it be better if we had a &quot;copy<br>
&gt; storeString&quot; item in the inspector (we already have &quot;copy name&quot; for the name<br>
&gt; of the variable)? Or even &quot;show storeString&quot;? I really dislike the idea to<br>
&gt; clutter something that everyone needs to understand every single time they<br>
&gt; look at with stuff that only a few people may use in even fewer situations.<br>
&gt;<br>
&gt; Cheers,<br>
&gt;  - Andreas<br>
&gt;<br>
&gt;<br>
<br>
</div></div>I don&#39;t buy this one. The feature would be usefull for simple objects<br>
only, and I prefer to stay away from instVarAt: 1 put: (...) and<br>
infinite loop on cyclic object graphs as proposed by current<br>
implementation of storeString for any other Object.<br>
A traditional inspector window does a better job.<br>
<br>
Maybe we should better close this subject :)<br></blockquote><div><br></div><div>No.  Actually the abilities I want are to open inspectors on &quot;distant&quot; objects and compare them.  For example right now I&#39;m developing a &quot;refactored&quot; virtual machine in which the ObjectMemory is an instance variable of the CoInterpreterSE instead of a superclass of the CoInterpreter.  Thing is, this is more than a refactoring and my CoInterpreterSE doesn&#39;t fully work yet.  I&#39;m running both the new VM and the old VM until they diverge and trying to account for that divergence.  Things that are difficult:</div>
<div><br></div><div>- getting both VMs in the same inspector.  Right now I have to e.g. in one debugger assign the interpreter to a global.  in the other debugger open an inspector on an array of the VM assigned to the global and the local VM.</div>
<div><br></div><div>- comparing instance variables and their state in the two interpreters.  Some generic object graph comparer that could display a partial walk over the two object graphs would be fantastic.</div><div><br>
</div><div>- better still is the ability to run the two VMs in lock-step, halting when they diverge.  Difficult in my case because lots of the computation happens in primitives that are executing generated machine code.</div>
<div><br></div><div>So I think the needs aren&#39;t for good print strings.  The needs are actually for much higher-level tools that allow one to</div><div>- compare object graphs with a richer result than merely equal or not, i.e. explore the comparison</div>
<div>- trace the evolution of object graphs during computation, ideally supporting evolution in lock-step of more than one graph, perhaps simply allowing one to record the sequence of evolutions such that one can compare one trace to another</div>
<div><br></div><div>How general is this kind of thing?  Do others find themselves looking at this kind of thing often?  I fear not.</div><div><br></div><div>eliot</div></div><br>