detecting JS language mode for tools

John Barton johnjbarton at
Sat Jan 25 09:35:53 PST 2014

Well, sorry my extra angle brackets. Let me try again.

Allen says, if I understand correctly, that the tiresome complexity of the
second parsing goal will be repaid when the superior Module goal supplants
the Script goal. But we undermine this tradeoff by allowing Scripts to use
System and Loader.

The Script goal disallows 'import' and 'export' specifically to ensure that
the Script goal is inconvenient for developers and thus they are encouraged
to shift to the Module goal. By allowing 'System' and 'Loader', we allow
exactly the range of possibilities forbidden by 'import' and 'export',
undermining the mission of converting developers to use the Script goal.

Providing 'System' and 'Loader' via system modules rather than globals
would seem to improve the chances of mission success.

On Sat, Jan 25, 2014 at 8:58 AM, Allen Wirfs-Brock <allen at>wrote:

> On Jan 24, 2014, at 6:33 PM, Brendan Eich wrote:
> > John Barton wrote:
> >> On Fri, Jan 24, 2014 at 12:17 PM, Allen Wirfs-Brock <
> allen at <mailto:allen at>> wrote:
> >>
> >>    I should have also included:
> >>
> >>    2A) Hopefully, overtime, the old script syntactic goal will fade
> >>    from use, and the module goal will become the norm for new code.
> >>
> >>
> >> Now here is a reason, finally, for all the extra complexity the two
> goals cause.
> >>
> >> If we want to kill script, let's not stab it with a dull pencil. Let's
> make Loader and System be modules, not globals. Then you cannot load
> modules with <script>, only with <module>.
> >
> > We are not killing <script>> Dream on!
> Right, that's why I said "script syntactic goal".  In 2A "script" refers
> to the ES6 Script grammar production, not the HTML <script> tag.
> Allen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list