[squeak-dev] The Trunk: Kernel-ul.709.mcz

Colin Putney colin at wiresong.com
Fri Sep 7 18:15:59 UTC 2012


Levente Uzonyi replied to Tobias Pape:

> When you use reflection, then you know anything can happen. If it's exposed
> via a single message, then you'll probably think it's okay to access it.
>
>
>> The point is that the
>>>>         self ensureEnvironment.
>>         env …
>> relies too much on side-effects, imho.
>>
>> Two things here:
>> 1) what is the harm of exposing the dictionary?
>>   If you use it, you are guilty nonetheless
>
>
> If the environment dictionary is accessed from another process, then things
> can go really bad.

But isn't this true regardless of whether the dictionary is exposed?
Can a process can damage the environment of another process by sending
it #environmentAt:put:?

Another idea would be to expose some kind of scope object that had a
more specific protocol than Dictionary and could protect against bad
things happening. That would be available through a lazy initializer.
If we did it in 4.5, it would complement the introduction of
Environment, which does something similar for global variables.

Colin


More information about the Squeak-dev mailing list