Neil Mix wrote:
> Brendan Eich wrote:
>> So we can have our cake and eat it too with a tail-recursive  
>> desugaring that forwards the previous iteration's binding value to  
>> the next iteration's binding. [...]
> 
> Yeah, I got lost in the thread and missed the subtlety of that follow- 
> up.  I'm having a hard time seeing any downside, other than perhaps a  
> mild inconsistency between var and let behavior here.  Worth it, just  
> as long as any form with the general syntax of
> 
>    <keyword> ( ... <let declaration/assigment> ... ) { <body> }
> 
> behaves in the same manner.

'for' and 'for each' are the only loop constructs with that syntax. In
the other loop constructs ('while' and 'do..while'), the content of the
parentheses is an Expression, so no 'let' or 'const' declaration is allowed
at that level (and declarations within nested blocks are unproblematic).
For non-loop constructs the issue doesn't arise.

-- 
David-Sarah Hopwood
_______________________________________________
Es-discuss mailing list
Es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to