<br><br><div class="gmail_quote">On Feb 20, 2008 8:47 AM,  &lt;<a href="mailto:johnps11@bigpond.com">johnps11@bigpond.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Goran!<br><br>I just want to point out that the long links in your mail were broken for<br>me (although a little cut and paste fixed that). Perhaps a service like<br>tinyURL would be useful when sending long links from the dark and distant<br>
past.<br><br>I have noticed in this thread an undertone of &quot;#become is the Devil&#39;s<br>playground&quot;<br><br>Could someone succinctly explain to someone who is a coarse and styless<br>programmer like myself why this is so, and when its use is justified?<br>
<br></blockquote></div><br><br>Hi John the Newbie.<br><br>It would be appreciated if you replied under a quoted message rather than above it.<br><br>I&#39;ve just sent an email in the original thread about this.<br><br>It&#39;s use would only be justified if there are no other options. I&#39;ve used it myself in my remote object architecture[1] for converting a message-capturing object proxy into the original object when an object is migrated between computers. My intention was to keep the remoteness of the objects involved as hidden as possible, making the use of #become: necessary. In retrospect, it was a big and dangerous time-waster. Many images died to bring me this information.<br>
<br>Originally, the Collections framework in Squeak used become: to grow some collections. The blue book design of the Smalltalk VM[2] has an object lookup table where the implementation of #become: was very fast - switch a single pointer. The Squeak VM uses direct pointers between objects now, so the entire object memory needs to be scanned.<br>
<br>[1] <a href="http://www.gulik.co.nz/dpon_design.pdf">http://www.gulik.co.nz/dpon_design.pdf</a>, <a href="http://www.squeaksource.com/DPON">http://www.squeaksource.com/DPON</a>.<br>[2] <a href="http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html">http://users.ipa.net/~dwighth/smalltalk/bluebook/bluebook_imp_toc.html</a><br>
<br>Gulik.<br><br clear="all"><br>-- <br><a href="http://people.squeakfoundation.org/person/mikevdg">http://people.squeakfoundation.org/person/mikevdg</a><br><a href="http://gulik.pbwiki.com/">http://gulik.pbwiki.com/</a>