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.
