Levente Uzonyi-2 wrote
> On Tue, 3 Feb 2015, Marcus Denker wrote:
> 
>>
>>       On 03 Feb 2015, at 09:17, Marcus Denker <

> marcus.denker@

> > wrote:
>> 
>>
>>       On 02 Feb 2015, at 21:47, Eliot Miranda <

> eliot.miranda@

> > wrote:
>> 
>> Hi All,
>>     code as in the double bars forming the end of block arguments and the
>> beginning of block temporaries in
>> 
>> 
>> This is fixed in Pharo4 (I think we did that in Pharo3 already):
>> 
>> I should search the issue in the issue tracker… it seems to be Pharo4, so
>> just 1296 closed issues to check there…
>> I will search for it.
>> 
>> Another question: In the code I saw. ReadOnlyVariableBinding. I removed
>> that in Pharo relatively early as it was not used:
>> half of the classes were stored that binding (old ones) all newer ones
>> where just associations.
>> The code to make a binding "read only" was never called.
>> 
>> Is this now used in Squeak? Is it worth the complexity?
> 
> Squeak doesn't use ReadOnlyVariableBinding anymore. The bindings of 
> classes are instances of the ClassBinding class.
> Without using separate class it's a bit cumbersome (and less OO) to decide 
> if an assignment to a global variable should be allowed or not. E.g.:
> 
>       Foo := 1.
> 
> should work if Foo is a global, but not a behavior. It should raise an 
> error if it's a behavior.

I have mixed feelings about that. In most Smalltalks one can write something
like the following and expect it to work.

| original |
original := SomeClass.
[SomeClass := SomeReplacementClass.
... some code involving SomeClass (typically a passed in Block) ...
] ensure: [SomeClass := original]

That is, the name of the thing is not the thing itself.

Of course, as long as one could write /Smalltalk at: #SomeClass put:
SomeReplacementClass/, it would still be possible to achieve the same
effect. (And of course, "Smalltalk" could be any namespace.)



> Levente
> 
>> 
>> Marcus
>> 
>>





--
View this message in context: http://forum.world.st/-tp4803298p4803783.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply via email to