Assigning to globals in strict mode
brendan at mozilla.org
Tue Oct 19 16:00:16 PDT 2010
On Oct 19, 2010, at 3:37 PM, Brendan Eich wrote:
> On Oct 19, 2010, at 1:13 PM, Oliver Hunt wrote:
>> On Oct 19, 2010, at 1:09 PM, Brendan Eich wrote:
>> Anyhoo, I jsut tested a firefox nightly (i was hoping that ffx threw after evaluating the lhs so we could just say that the behaviour of two impls matched) and it fires after evaluating the rhs. Would you like me to file a bug?
> Not yet -- jorendorff is making the case for PutValue (after RHS evaluation).
> Really need Allen to weigh in here, he may be able to in between SPLASH (OOPSLA forever in my heart) sessions.
Really, the spec says what it says: PutValue. (And [[DefineOwnProperty]] as jorendorff noted.)
What you implemented at first, an early error, *is* what Harmony will spec. Thanks to Dave Herman for pointing this out to me just a few minutes ago. Dave was concerned that compiler implementors would not be ready for the mandatory analysis, but you clearly were! We are too.
This is the better future promised by Harmony's foundational "lexical scope ftw" shared value. We should probably let ES5 alone and do what it specifies, while saving our early-error analysis for Harmony.
More information about the es5-discuss