[squeak-dev] The Trunk: Kernel-eem.1117.mcz

Tobias Pape Das.Linux at gmx.de
Fri Nov 10 09:53:41 UTC 2017


> On 10.11.2017, at 08:00, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> 
> But old implementation was a to:do: loop on indices with (self tempAt: i)
> So we already pay the price of low level procedural style, 
> why having to pay the stream overhead?
> It makes code more convoluted than necessary (a higher level dsiguise)
> 
> Or should we rewrite most of SequenceableCollection protocol?
> 

I don't get it.

Best regards
	-Tobias

> 2017-11-10 2:55 GMT+01:00 Chris Muller <asqueaker at gmail.com>:
> +1.  #streamContents: is a high-level message.
> 
> Eliot is a master of C programming, I guess we all see our own style
> as less baroque.  I generally try to retain original authors' style
> and formatting  as much as possible unless I'm making significant
> changes to the method.  I would never only replace someone's
> formatting or style with my own.
> 
> 
> On Tue, Nov 7, 2017 at 11:58 PM, Tobias Pape <Das.Linux at gmx.de> wrote:
> >
> >> On 08.11.2017, at 02:11, commits at source.squeak.org wrote:
> >>
> >> Eliot Miranda uploaded a new version of Kernel to project The Trunk:
> >> http://source.squeak.org/trunk/Kernel-eem.1117.mcz
> >>
> >> ==================== Summary ====================
> >>
> >> Name: Kernel-eem.1117
> >> Author: eem
> >> Time: 7 November 2017, 5:11:32.043344 pm
> >> UUID: 110255e1-5b72-4d99-96bb-e5068c2f5b5b
> >> Ancestors: Kernel-tpr.1116
> >>
> >> Use a slightly less baroque implemetation for Context>>arguments, equivalent to Pharo's.
> >>
> >
> > What is baroque about that?
> > I'd prefer the other stile any time.
> > I especially find the assignment in the "computation" of the argument ugly (the n assignment) and potentially confusing.
> >
> > I'm a bit puzzled you prefer the style you just put there to the streaming constructor…
> >
> > Best regards
> >         -Tobias
> >
> >> =============== Diff against Kernel-tpr.1116 ===============
> >>
> >> Item was changed:
> >>  ----- Method: Context>>arguments (in category 'accessing') -----
> >>  arguments
> >> +     "Answer the receiver's arguments as an Array.
> >> +      We could use simply ^(1 to: self numArgs) collect: [:i| self tempAt: i]
> >> +      but for performance and minimality we use the implementation below."
> >> +     | n args |
> >> +     args := Array new: (n := self numArgs).
> >> +     1 to: n do: [:i| args at: i put: (self tempAt: i)].
> >> +     ^args!
> >> -
> >> -     ^ Array new: self numArgs streamContents: [:args |
> >> -             1 to: self numArgs do: [: i |
> >> -                     args nextPut: (self tempAt: i)]]!
> >>
> >>
> >
> >
> 
> 
> 



More information about the Squeak-dev mailing list