excluding features from sloppy mode (was: the 1JS experiment has failed)
Mark S. Miller
erights at google.com
Wed Dec 26 16:13:09 PST 2012
On Wed, Dec 26, 2012 at 3:53 PM, Brandon Benvie
<brandon at brandonbenvie.com> wrote:
> 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.
Agreed. I had not meant to imply that I was reopening the earlier
issue. Perhaps I had misunderstood the meaning of 1JS. But I don't
much care what we call it. I just hope we can stop sacrificing other
values for the sake of sloppy mode.
> 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.
>> > Dave
>> es-discuss mailing list
>> es-discuss at mozilla.org
More information about the es-discuss