<br><br><div class="gmail_quote">On Tue, Apr 17, 2012 at 9:20 AM, Stefan Marr <span dir="ltr">&lt;<a href="mailto:smalltalk@stefan-marr.de">smalltalk@stefan-marr.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Hi Eliot:<br>
<div class="im"><br>
On 17 Apr 2012, at 18:13, Eliot Miranda wrote:<br>
<br>
&gt; Smalltalk is a safe language; it is extremely important that the system not crash and instead provide walkbacks that afford diagnosis of errors.<br>
<br>
</div>Since when is that? Didn&#39;t you tell me that if I do something stupid with a primitive, I have to expect that it crashes?<br></blockquote><div><br></div><div>Most of the time the system is safe.  One has to think a little to get it to crash (thisContext swapSender: 1@2).  But in normal use it doesn&#39;t crash (&#39;abc&#39; at: 1 put: 1@2).</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
And the last time I checked, the store bytecode didn&#39;t do any length checks either, so it is easily possible to forge a method that writes into random memory, no?<br></blockquote><div><br></div><div>Yes, there are many ways to crash the VM.  But its not so bad right now (there are lots of safe primitives and the system is much safer than e.g. C), and it&#39;s getting better (e.g. I just plugged a gap in objectAt:put:), but it is a tricky balance between performance and safety.  For me, its some judgement call on common usage.  But its certainly up for debate.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Best regards<br>
<span class="HOEnZb"><font color="#888888">Stefan<br>
<br>
<br>
--<br>
Stefan Marr<br>
Software Languages Lab<br>
Vrije Universiteit Brussel<br>
Pleinlaan 2 / B-1050 Brussels / Belgium<br>
<a href="http://soft.vub.ac.be/~smarr" target="_blank">http://soft.vub.ac.be/~smarr</a><br>
Phone: <a href="tel:%2B32%202%20629%202974" value="+3226292974">+32 2 629 2974</a><br>
Fax:   <a href="tel:%2B32%202%20629%203525" value="+3226293525">+32 2 629 3525</a><br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>