import script --> .esm

Brendan Eich brendan at
Wed Sep 10 11:13:14 PDT 2014

Rick Waldron wrote:
> On Wed, Sep 10, 2014 at 10:40 AM, Matthew Robb <matthewwrobb at 
> <mailto:matthewwrobb at>> wrote:
>     I just think the idea of 1JS has already been compromised and
>     really what we have is a spec that supports two almost-entirely
>     different sets of expectations. The maintenance of keeping them of
>     equal priority seems like it will only get worse over time. The
>     `"use strict"` pragma is already sort of an opt-in to the new mode.
> Only in non-strict Script 
> ( 
> <>) 
> sense. Modules 
> ( 
> <>) 
> are strict-by-default.

Right. 1JS has not been compromised, and it never meant there wouldn't 
be new syntax with new semantics.

Matthew, if you want to use this kind of language, apply it to ES5 with 
its "use strict"; prologue directive. The directive is a useless 
expression in old browsers, and yet runtime semantics change in new.

No opt-in versioning, syntax is its own opt-in, was the 1JS insight. It 
predated modules as only expressed via out-of-line (in a file, or an 
archive member) bodies. This led to the current dilemma: new suffix or 

In no case is 1JS compromised in favor of version opt-in to use new 
syntax. Otherwise we are off to the <script 
type=application/ecmascript;version=2015> race.


More information about the es-discuss mailing list