excluding features from sloppy mode (was: the 1JS experiment has failed)

Brandon Benvie brandon at brandonbenvie.com
Wed Dec 26 15:53:38 PST 2012

I must admit, I'm a bit confused. My understanding of 1JS was that it meant
no new modes or pragmas. That seems to have little bearing on whether a
feature is restricted to strict mode or not, because that ship has already
sailed and the cost is sunk.

Aside from 1JS is, I think, a different discussion about what belongs in
strict mode, and what the cost is of putting a feature in strict mode vs.
making it available in normal mode. Generally, the cost of making something
available in normal mode is greater compatibility hurdles (as we see with
function decls in block scope), while the cost of putting things in strict
mode is in increasing the gap in semantics between code that is otherwise
identical besides the leading "use strict" pragma.

Perhaps the second part is part of the 1JS discussion, but I think the
discussion already seen today indicates there is two separate issues, one
which is settled and agreed upon and one which is ongoing.

On Wed, Dec 26, 2012 at 6:35 PM, Mark S. Miller <erights at google.com> wrote:

> On Wed, Dec 26, 2012 at 2:58 PM, David Herman <dherman at mozilla.com> wrote:
> > On Dec 26, 2012, at 2:30 PM, Mark S. Miller <erights at google.com> wrote:
> >
> >> Sorry, I'd completely forgotten about those earlier options. I am
> >> arguing only the latter. Specifically "Any ES6 features that don't fit
> >> into non-strict mode without contortion, including "let" and nested
> >> "function", should be available only in strict mode."
> >
> > Then I'm with Rick: your subject line was pretty inflammatory and not
> actually
> > what you were arguing. This isn't a debate about 1JS. It's a narrower
> debate
> > about whether some features should be available only in strict mode.
> Just to clarify why I used that admittedly inflammatory title: When I
> had previously argued this point, specifically regarding "let",
> someone (I thought it was you) cited "1JS" as a reason to try bringing
> such ES6 features to non-strict (sloppy) mode. If 1JS implies that we
> should do so, then I reject the 1JS doctrine. If I misunderstood, then
> I withdraw putting this in terms of 1JS.
> I think you did coin "1JS". What do you mean by it? Does it bear on
> the present issue or not?
> [...]
> > So I guess I'd like to sit back a bit and hear others' opinions about
> this.
> > But let's be clear that we're only talking about excluding some new
> features
> > from sloppy mode, *not* about the ES6 opt-in.
> Agreed.
> >
> > Dave
> >
> --
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20121226/43c83663/attachment-0001.html>

More information about the es-discuss mailing list