On Jul 31, 2008, at 5:24 AM, Dave Herman wrote:

>> We should take this problem seriously. ...
>>
>> Dynamic scope is very bad.
>
> Specifically:
>
> - Classes are supposed to provide integrity, but dynamic scope makes  
> the
> internals of code brittle; any variable reference inside the
> implementation could be subverted by the seemingly innocuous insertion
> of a property.
>
> - Dynamic dispatch has a reasonably understandable cost model, but  
> only
> if it's confined to explicit property references. With dynamic scope,
> any variable reference could potentially be very expensive.
>
> - Generally, code within a `with' block is brittle and hard to
> understand, and as Tucker says, the implicit `this.' means that all  
> code
> inside class methods is within a `with' block... this means that all
> code inside class methods is brittle!
>
> - In the past, this has been enough for many programmers to deprecate
> all use of `with' -- we should certainly hope to avoid the same
> happening for classes.

I'm not sure of the benefits on the whole of implicit 'this' for class  
methods, but isn't it plausible to apply it only to static properties  
and not dynamically inserted ones, so all references continue to be  
bound at compile time and this sort of brittleness does not come up?

Regards,
Maciej

_______________________________________________
Es4-discuss mailing list
Es4-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es4-discuss

Reply via email to