<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 13, 2015 at 3:22 PM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 01/13/2015 03:18 PM, Vlad Dumitrescu wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some more advanced stuff can be done too, like only<br>
tracing variables whose values have changed.<br>
</blockquote>
<br></span>
Curious what you mean by that?<span class="HOEnZb"><font color="#888888"><br>
<br></font></span></blockquote><div><br></div><div>I mean that for the following code</div><div><br></div><div>{A, B} = {a, b},</div><div>{B, C} = {b, c}</div><div><br></div><div>the simplistic approach would trace A and B after the first expression and B and C after the other. But B has the same value and it's useless to output it again.</div><div><br></div><div>If the implementation could be done efficiently enough, this could even detect "chain updates" and present them as changes to a single meta-variable. So</div><div><br></div><div>S = #rec{},</div><div>S1= S#rec{a=1},</div><div>S2=S1#rec{b=2}</div><div><br></div><div>might not output the potentially large record each time, but only the changed values. This is probably something better done offline, as it's a presentation thing. I am thinking out loud, basically, so thanks for challenging me.</div><div><br></div><div>regards,</div><div>Vlad</div><div><br></div><div><br></div><div> </div></div></div></div>