Ye olde arguments argument (was: Topic list - pending changes and issues for the ES3.1 spec)

Brendan Eich brendan at
Mon Sep 15 14:38:17 PDT 2008

On Sep 15, 2008, at 10:21 PM, Jon Zeppieri wrote:

> Don't even get me started on activation 'objects'...

Nor me.

> Mark, didn't you propose eliminating that language from the spec?
> (Yup. 
> 006062.html)
>  I'm guessing that's not actually happening for ES3.1.

May be too big a change for 3.1, on the agenda for Harmony.

As Dave Herman has argued, mapping scopes onto objects is a primal  
sin in the ES specs. Recasting where possible via lexical bindings,  
putting the global object, with, and eval into penalty boxes, both in  
real terms for programmers (e.g. "use lexical scope"), and in the  
spec by making the bad cases entail exceptional work, seems more than  
worth the trouble.

It's "easy" to keep hacking around with objects, maybe trying to  
freeze some bindings, but doing so is a temporary evil at best, or  
foolish child's-play at worst (if done out of some misguided uber- 
minimalism, to avoid reforming the spec language to use lexical scope  

Guy Steele was editor during much of the ES1 period, and he helped  
greatly, but compatibility concerns and time-to-"market" prevented us  
from taking his advice on this point. I wish we had, though.


More information about the Es-discuss mailing list