restrictions on let declarations

Brendan Eich brendan at
Thu Jan 30 09:24:29 PST 2014

Rick Waldron wrote:
>     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: 

Nick Krempel  proposed that upthread, just for the record.

Yeah, it's good. It comes from C++ but goes back to Algol, IIRC. Another precedent for block-scoped bindings that are declared in heads.


More information about the es-discuss mailing list