[squeak-dev] Re: [Pharo-dev] ||

Levente Uzonyi leves at elte.hu
Wed Feb 4 20:58:25 UTC 2015


On Wed, 4 Feb 2015, Marcus Denker wrote:

> 
> 
> On Tue, Feb 3, 2015 at 6:51 PM, Levente Uzonyi <leves at elte.hu> wrote:
>       On Tue, 3 Feb 2015, Marcus Denker wrote:
> 
>
>                   On 03 Feb 2015, at 09:17, Marcus Denker <marcus.denker at inria.fr> wrote:
> 
>
>                   On 02 Feb 2015, at 21:47, Eliot Miranda <eliot.miranda at gmail.com> 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 thought this is how ReadOnlyVariableBinding was supposed to be used: classes would use it, globals not.

Probably that was the goal, but it was not implemented correctly, and the 
name ClassBinding fits better the use case than ReadOnlyVariableBinding.

Levente

> 
>    Marcus
> 
> 
> 
> 
>


More information about the Squeak-dev mailing list