On Thu, Jan 30, 2014 at 12:10 PM, Brendan Eich <[email protected]> wrote:
> John Lenz wrote:
>
>> How did "let x" in for-loops land:
>>
>> for (let x = 1; x < 10 ; i++) {
>> // is "x" a fresh binding for every iteration?
>> }
>>
>> This wouldn't be "block" scoping either.
>>
>
> It is -- special forms that have heads can bind in bodies. We see this
> with formal parameters to functions, also with the defunct let blocks and
> let expressions of ES4. ML has similar forms.
>
> We made this block scoping, and how! Turns out Dart did the same. Each
> iteration gets a fresh binding. If there's a closure in the first part of
> the for(;;) head that captures the loop variable, it gets a "0th iteration"
> binding.
Also, there was very positive interest in Waldemar's proposed if-scoped
let, here:
https://mail.mozilla.org/pipermail/es-discuss/2013-December/035077.html
Rick
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss