On Jan 31, 2012, at 10:25 AM, Brendan Eich wrote:
> Allen Wirfs-Brock wrote:
>>> > No, I meant this:
>>> > > let i = 42, j = 3;
>>> > for (let x = i *= j in {});
>>> > > No iterations, x not in scope after -- but i is 126 after. Do Not
>>> > Want (the initialiser).
>>
>> for the same effec:
>>
>> let i = 42, j = 3;
>> for (let x in (i *= j ,{}));
>
> So? I wrote "effect" not "scope", now you're defending the unwanted degree of
> side-effecting freedom? :-|.
>
> One can always make expressions have effects. That's not the point. The reuse
> of VariableDeclarationNoIn in 12.6.4 without any refactoring or semantic
> restriction to forbid an initialiser was a mistake. I'm glad to get rid of
> it, but teasing me will cause endless grumpy fear that it will live on. :-P
Oh, I'm perfectly happy to see the initializer eliminated (for the new syntax).
But side-effects eradication, in general, seems like a wack-a-mole effort.
Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss