namespaces and expression-qualified names

Brendan Eich brendan at
Fri Mar 21 13:40:11 PDT 2008

On Mar 21, 2008, at 9:48 AM, Jon Zeppieri wrote:

> - Brendan proposed a reformed with statement that wouldn't interfere
> were lexical lookup the way the old with statement does.
> Perhaps mistakenly, I took these as evidence that *only* backwards
> compatibility concerns are keeping ES4 from ensuring that all lexical
> bindings can be statically resolved.  That's why I was surprised to
> find a new language feature that inhibits static analysis in a manner
> similar to old language features, which the designers are trying to
> kill.

You're spot on. Compatibility means we will have certain pain points,  
probably forever. But adding another one is to be avoided without  
super-compelling reasons.

Reformed with, which I suspect will be cut judging from the red on  
its row at 
key=pFIHldY_CkszsFxMkQOReAQ&gid=2, was intended to aid migration of  
with-happy code to ES4, without losing all the benefits of strict  
mode (never mind performance; my mantra lately is that dynamic  
optimization techniques will speed JS up enough that types are really  
for programming in the large). And there is a ton of with-happy code  
out there, including web app and Ajax library code.

So I agree: let's not add more loopholes without strong  
justification. And I'll wave the reformed with flag one last time,  
for adding to the bad old loopholes where they can be reformed, if  
not simply punishing them with a thousand cuts.


More information about the Es4-discuss mailing list