Allen Wirfs-Brock wrote:
On Sep 27, 2012, at 10:26 AM, Brendan Eich wrote:
Also, at the last meeting there was some significant push back about the
load-time costs (startup latency) of early error detection.
That's an issue for sure but we talked last week about less-than-early errors for some things. OTOH
even a stripped down parser or "reader" must cope with some name binding checks per ES5
strict mode (as well as recognizing "use strict";). That ship sailed. Same goes for
duplicate property names in object literals in strict mode.
The real objection was to full name def/use analysis, which this is not. Duplicate
formals are pretty easy to detect and you have to throw an early error for any such given
a "use strict"; (later!) in the same function.
So the purpose my original posting is achieved.
Ok, but...
I'm all for statically disallowing many of these "stupid" cases and I think it is fine
to do the checks at "first call" rather than load-time (a off-line static linter could be
more aggressive in reporting such errors).
No. As a matter using accurate language, that's not "statically".
More, you didn't respond to my "use strict"; point. Are you going to
change whether duplicate parameters with "use strict"; in the function
prologue throw an early error, or not?
Since the consensus here seems to be the same, I'll take that approach as I
update the spec.
We have not discussed error-on-first-call in this thread at all!
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss