Kevin Smith (2012-11-18T15:02:29.000Z)
Dave Herman proposed as part of 1JS that module imply strict mode, so let
> is reserved in module. So that helps.
>

Sure, for inline modules.  But are externally loaded modules strict as
well?  I think they should be...

1. 'let' only in strict code including modules per 1JS as originally
> proposed.
>
> 2. 'let' followed by identifier or { but not LineTerminator.
>
> 3. 'let' followed by identifier or { with LineTerminator and other space
> allowed in between.
>
> 4. 'let' followed by identifier, {,  or [ and LineTerminator in between is
> ok.
>
> 5. We could also allow 'let' per (4) in functions not in modules that do
> not "use strict" but do use new ES6 syntax in their heads, e.g.
> destructuring parameters, default parameters, rest parameters. Those head
> features could arguably opt into 'let' syntax but not strict mode.
>

Anything other than (1) neuters either the let statement or let identifiers
- yuck.  As Domenic says, most new code will go in modules anyway.

- Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20121118/590fca31/attachment.html>
github at esdiscuss.org (2013-07-12T02:25:50.917Z)
> Dave Herman proposed as part of 1JS that module imply strict mode, so let
> is reserved in module. So that helps.

Sure, for inline modules.  But are externally loaded modules strict as
well?  I think they should be...

> 1. 'let' only in strict code including modules per 1JS as originally
> proposed.
>
> 2. 'let' followed by identifier or { but not LineTerminator.
>
> 3. 'let' followed by identifier or { with LineTerminator and other space
> allowed in between.
>
> 4. 'let' followed by identifier, {,  or [ and LineTerminator in between is
> ok.
>
> 5. We could also allow 'let' per (4) in functions not in modules that do
> not "use strict" but do use new ES6 syntax in their heads, e.g.
> destructuring parameters, default parameters, rest parameters. Those head
> features could arguably opt into 'let' syntax but not strict mode.
>

Anything other than (1) neuters either the let statement or let identifiers
- yuck.  As Domenic says, most new code will go in modules anyway.

- Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20121118/590fca31/attachment.html>