{Spam?} Re: Early error on '0' followed by '8' or '9' in numeric literals does not seem to be web-compatible

Brendan Eich brendan at mozilla.org
Fri Aug 8 11:14:06 PDT 2014


Anne van Kesteren wrote:
> On Thu, Aug 7, 2014 at 11:59 PM, Brendan Eich<brendan at mozilla.org>  wrote:
>> >  This doesn't mean strict mode failed. It does mean no-mo'-modes.
>
> Except for modules? (As they definitely require a mode switch
> (<module>  instead of<script>). Perhaps at a higher-level than
> JavaScript, but that seems immaterial.)

That's not a "mode" or "mode switch". A mode is a cross-cutting change 
of state, both compile- and run-time. New syntax having new static 
(compile-time) semantics doesn't make a mode in the sense everyone 
decries when asking for no-mo-modes.

It's true hanging too much static-only modality on new syntax can make 
"micro-modes", especially if the effects apply to a wider part of the 
grammar than just the bit of new syntax. This was used to argue against, 
e.g., new syntax in one parameter of a function's parameter list 
changing the semantics of the whole function.

While "mode" is not well-defined, you know it when you smell it. 
Stricter strict mode smells. That's the point here.

/be


More information about the es-discuss mailing list