<div dir="ltr">But old implementation was a to:do: loop on indices with (self tempAt: i)<div>So we already pay the price of low level procedural style, <br></div><div>why having to pay the stream overhead?</div><div>It makes code more convoluted than necessary (a higher level dsiguise)<br></div><div><br></div><div>Or should we rewrite most of SequenceableCollection protocol?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-10 2:55 GMT+01:00 Chris Muller <span dir="ltr"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+1.  #streamContents: is a high-level message.<br>
<br>
Eliot is a master of C programming, I guess we all see our own style<br>
as less baroque.  I generally try to retain original authors' style<br>
and formatting  as much as possible unless I'm making significant<br>
changes to the method.  I would never only replace someone's<br>
formatting or style with my own.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Tue, Nov 7, 2017 at 11:58 PM, Tobias Pape <<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>> wrote:<br>
><br>
>> On 08.11.2017, at 02:11, <a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a> wrote:<br>
>><br>
>> Eliot Miranda uploaded a new version of Kernel to project The Trunk:<br>
>> <a href="http://source.squeak.org/trunk/Kernel-eem.1117.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>trunk/Kernel-eem.1117.mcz</a><br>
>><br>
>> ==================== Summary ====================<br>
>><br>
>> Name: Kernel-eem.1117<br>
>> Author: eem<br>
>> Time: 7 November 2017, 5:11:32.043344 pm<br>
>> UUID: 110255e1-5b72-4d99-96bb-<wbr>e5068c2f5b5b<br>
>> Ancestors: Kernel-tpr.1116<br>
>><br>
>> Use a slightly less baroque implemetation for Context>>arguments, equivalent to Pharo's.<br>
>><br>
><br>
> What is baroque about that?<br>
> I'd prefer the other stile any time.<br>
> I especially find the assignment in the "computation" of the argument ugly (the n assignment) and potentially confusing.<br>
><br>
> I'm a bit puzzled you prefer the style you just put there to the streaming constructor…<br>
><br>
> Best regards<br>
>         -Tobias<br>
><br>
>> =============== Diff against Kernel-tpr.1116 ===============<br>
>><br>
>> Item was changed:<br>
>>  ----- Method: Context>>arguments (in category 'accessing') -----<br>
>>  arguments<br>
>> +     "Answer the receiver's arguments as an Array.<br>
>> +      We could use simply ^(1 to: self numArgs) collect: [:i| self tempAt: i]<br>
>> +      but for performance and minimality we use the implementation below."<br>
>> +     | n args |<br>
>> +     args := Array new: (n := self numArgs).<br>
>> +     1 to: n do: [:i| args at: i put: (self tempAt: i)].<br>
>> +     ^args!<br>
>> -<br>
>> -     ^ Array new: self numArgs streamContents: [:args |<br>
>> -             1 to: self numArgs do: [: i |<br>
>> -                     args nextPut: (self tempAt: i)]]!<br>
>><br>
>><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>