<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2013/12/24 Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><div class="im">2013/12/24 Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>&gt; The other point being whether to invoke new or basicNew is more germane, but<br>
&gt; not invoking new is a way to tell my instances are not created like that.<br>
<br>
</div>It&#39;s a way to tell your instances not to initialize _default values_, if any.<br>
<br>
If a var is added and you add an initialize method, oops.  You better<br>
change your constructor too, ha ha...<br>
<div><br></div></blockquote></div><div>Chris, that&#39;s not your best argument, what do you read here?<br></div><div>^self basicNew initializeWith: prefix<br>                        ^^^^^^^^^<br></div><div><br></div>
<div>Did you browse HashedCollection&gt;&gt;new: as I suggested?<br></div><div>It does not send #new, nor #initialize but #initialize:<br></div><div>This is fairly common in Squeak.<br></div><div class="im"><div> <br></div>
</div></div></div></div></blockquote><div><br></div><div>Not my best answer too, when I re-read it... ;)<br></div><div>Colin has revendicated the right to call self initialize from within initializeWithXXX: initializer.<br>
</div><div>You denied this right because that would open the door to arbitrarily ignore initialize.<br></div><div>But I think you are mistaking here.<br></div><div>Indeed, contrarily to what you said, each initialize SHOULD call another initialize (*), that is super initialize.<br>
</div><div>So once we agree that initializeWithXXX is a proper initialize method as HashedCollection&gt;&gt;initialize: is,<br></div><div>The problem is solved and we can revert to previous version.<br></div><div><br></div>
<div>(*) except intentionnally in well known cases<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div class="im"><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
&gt; We<br>
&gt; could push it further and redefine new ^self error as you suggested, but<br>
&gt; it&#39;s quite heavy...<br>
<br>
</div>Default values.<br>
<br>
</blockquote></div></div>Nah! We ain&#39;t gonna need such mock-ups, or we&#39;ll explicitely create some.<br></div></div>
</blockquote></div><br></div></div>