[squeak-dev] name in various FooTheme class>>#createFoo methods

Chris Muller asqueaker at gmail.com
Sat Oct 15 16:03:53 UTC 2016

I used to use #in: a lot so my methods could be one elegant
hierarchical expression.

Then one day you changed one of my methods to do temporary assignment
with comment that it creates a unncessary block activation which could
slow down performance.

That's when I stopped using #in:.  I didn't realize there was a
performance cost.

On Sat, Oct 15, 2016 at 4:37 AM, Levente Uzonyi <leves at caesar.elte.hu> wrote:
> On Fri, 14 Oct 2016, Eliot Miranda wrote:
>> Hi Marcel,
>>     I see the "name is shadowed" warning from methods such as
>> CommunityTheme class>>#createDark
>> "self createDark apply."
>> | name |
>> name := 'Community (dark)'.
>> ^ (self named: name) in: [:theme |
>> theme merge: (self named: 'Squeak') overwrite: true.
>> theme name: name.
>> "General morph stuff."
>> theme
>> ...
>> and I thought to correct them but then thought that they don't need the
>> name ten var at all, and hence realised they could be auto generated.  Are
>> they?  Is it safe to edit them to rename name to e.g. themeName, or even
>> to eliminate the temp var altogether?
> Totally irrelevant, but what's the point of using #in: when a temporary
> variable would do it?
> Levente
>> _,,,^..^,,,_
>> best, Eliot

More information about the Squeak-dev mailing list