rossberg at google.com
Tue Jun 12 06:29:55 PDT 2012
On 12 June 2012 01:36, Charles Kendrick <charles at isomorphic.com> wrote:
>> Your point about not violating "use strict" or elaborating too much is good,
>> but I want to push back on one thing: local vars may be a bridge too far,
>> especially with optimizing JITs, block-scoped let bindings, etc. Making
>> arguments available is easier.
> I definitely recognize that making local vars available is
> different-in-kind from making function arguments available. However I
> would ideally like to see it mentioned in the spec with "recommended
> but not required" wording.
I would also push back very hard on this. Besides semantic issues, it
would screw compilers, because (among other things) it requires
extending liveness of all local variables till the end of their scope
(or at least till after its last impure operation). The effect on
performance would be significant, I'm sure.
"Recommended but not required" gives you the worst of both worlds: the
user cannot rely on the feature, and the implementer is not relieved
from the pressure to eventually implement it anyway.
More information about the es-discuss