On Tue, Sep 1, 2015 at 10:41 PM SaamBarati1 <saambara...@gmail.com> wrote:
> Hi Allen, > > What were the requirements for the global lexical scope? Is it written > somewhere I can read? I came up empty after a quick search of > esdiscuss.org. > > I think the whole point of ES6 lexical scoping is to limit scope to > something you can read in a given file (or script, or block, or eval, or > unit of JS code). Except, this breaks down for global top-level > let/const/class. I argue that if you want these variables to be visible > across JS programs, you should be using modules. The current spec makes > this somewhat better than "var"s because these variables are no longer > properties on the global object, but it punted and said that there is some > magical lexical scope that wraps all programs. I think it's more in the > spirit of lexical scoping to have these variables be limited to the program > they're defined in (as if the entire program were wrapped in {}). And it's > more in the spirit of ES6 to share code across programs using modules. > > I think it's not helpful for you to threaten that our opinions are less > useful than a proof of impossibility when we are people who are both > interested in the JavaScript language and interested in implementing it > well. I've spent > 8 hours today implementing the "global lexical tier", so > I think it's helpful to categorize my opinion as being slightly greater > than "less useful than a proof that the spec is impossible to implement". > Sometimes the best ideas are those that are negligent of "requirements". > Allen already provided links to discussions of record that lead to the design in ES6. Those discussions capture the requirements and supporting rationale. Here they are again: https://github.com/rwaldron/tc39-notes/blob/master/es6/2012-07/july-25.md#scoping-rules-for-global-lexical-declaration https://github.com/rwaldron/tc39-notes/blob/master/es6/2012-09/sept-19.md#global-scope-revisit https://github.com/rwaldron/tc39-notes/blob/master/es6/2013-11/nov-21.md#46-the-global-scope-contour https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-11/nov-18.md#45-global-let-shadowing-of-global-object-properties plus various es-discuss threads: https://www.google.com/?gws_rd=ssl#q=site:http:%2F%2Fesdiscuss.org+global+let <https://www.google.com/?gws_rd=ssl#q=site:http://esdiscuss.org+global+let> Rick
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss