<br><br><div class="gmail_quote">On Wed, Apr 4, 2012 at 4:59 AM, Levente Uzonyi <span dir="ltr"><<a href="mailto:leves@elte.hu">leves@elte.hu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div class="h5">On Wed, 4 Apr 2012, Frank Shearar wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I ported Francisco Garau's TypeInference engine to Squeak (well,<br>
changed the one thing I needed to make it run on Squeak), and Marcus<br>
noted the following:<br>
<br>
Marcus Denker <<a href="mailto:marcus.denker@inria.fr" target="_blank">marcus.denker@inria.fr</a>> says:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It turns out that in Pharo we use Association and in Squeak we use<br>
ReadOnlyVariableBinding; by changing VariableNode >> #isSharedVarNode<br>
</blockquote></blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You should think about cleaning that up... in the SystemDictonary, old classes<br>
are ReadOnlyVariableBinding, new ones are Associations. The code to make<br>
a binding into a ReadOnlyVariableBinding is never called...<br>
</blockquote>
<br>
Given that I know next to nothing about this part of Squeak, I offer<br>
it up to those more knowledgeable than I for assessment!<br>
</blockquote>
<br></div></div>
Markus is right, the code is not called, but I'm not sure it shouldn't be called. Just try the following in a throw-away image:<br>
<br>
Object subclass: #Foo<br>
instanceVariableNames: ''<br>
classVariableNames: ''<br>
poolDictionaries: ''<br>
category: 'Foo'.<br>
Foo := 1.<br>
<br>
The value of Foo will be 1 and your browser will go nuts when you try to browse the Foo category.<br></blockquote><div><br></div><div>Right. <span class="Apple-style-span" style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px">ReadOnlyVariableBinding is a *good* idea! (with </span><span class="Apple-style-span" style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px">ReadOnlyVariableBinding evaluating Foo := 1 will raise an error).</span></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Levente<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
frank<br>
<br>
<br>
</blockquote>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>