Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-28 Thread Brandon Benvie
I ave to recant on this after having doing some research (and actually making it work). The original reason about ThisMode may still be true but I'm less sure. It was basically about being unable to identify the correct global `this` in strict mode since its not automatically provided for you, and

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-28 Thread Brandon Benvie
To elaborate on the ThisMode scenario, take the following example (also available at https://gist.github.com/4401538): var value = 10; module X { // implicit use strict var value = 20; export class Builtin { constructor(){ if (this == null) {

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-27 Thread David Bruant
Le 27/12/2012 02:52, Brandon Benvie a écrit : As an aside, ES itself can't self-host its own builtins in strict mode because of the (two of the very few) semantic differences that exist between strict mode and non-strict mode: non-strict thrower properties (which I've come to consider an

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread David Herman
Well, before I start arguing with you, I'd like to know what argument you're making. ;-) Are you saying we should go back to having a MIME-type (and/or pragma) opt-in? Your subject line suggests that. Or are you saying we should simply not support some of the new features in non-strict code?

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Mark S. Miller
Hi Rick, I cited four features. Blocked scoped functions are simply the straw that makes the condition of the camel's back more obvious. As for the greater good, we're all working for that. We just differ on which path leads there. On Wed, Dec 26, 2012 at 2:25 PM, Rick Waldron

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Mark S. Miller
On Wed, Dec 26, 2012 at 2:27 PM, David Herman dher...@mozilla.com wrote: Well, before I start arguing with you, I'd like to know what argument you're making. ;-) Are you saying we should go back to having a MIME-type (and/or pragma) opt-in? Your subject line suggests that. Or are you saying

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Rick Waldron
On Wednesday, December 26, 2012, Mark S. Miller wrote: Hi Rick, I cited four features. Unless I misread, 2 of them both concerned block scoped functions and I assumed you were referring to the let[0]=1; which was discussed and consensus on further research towards Luke's resolution was agreed

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Brendan Eich
Mark, you cite some issues we need to work through, but opt-in via pragma syntax beyond use strict is not one of them. What's more, the big-picture claim in your Subject line (has failed especially) is not true. In an overriding sense, 1JS can't fail, because versioning is an anti-pattern (or

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Brendan Eich
Mark S. Miller wrote: On Wed, Dec 26, 2012 at 2:58 PM, Brendan Eichbren...@mozilla.com wrote: Mark, you cite some issues we need to work through, but opt-in via pragma syntax beyond use strict is not one of them. Sorry for the confusion. As I just clarified in my response to Dave, I am not

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Brandon Benvie
As an aside, ES itself can't self-host its own builtins in strict mode because of the (two of the very few) semantic differences that exist between strict mode and non-strict mode: non-strict thrower properties (which I've come to consider an annoying blight that punishes developers in order to

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Brandon Benvie
Er I meant ThrowTypeError. On Wed, Dec 26, 2012 at 8:52 PM, Brandon Benvie bran...@brandonbenvie.comwrote: As an aside, ES itself can't self-host its own builtins in strict mode because of the (two of the very few) semantic differences that exist between strict mode and non-strict mode:

Re: The 1JS experiment has failed. Let's return to plan A.

2012-12-26 Thread Axel Rauschmayer
As an aside, ES itself can't self-host its own builtins in strict mode because of the (two of the very few) semantic differences that exist between strict mode and non-strict mode: non-strict thrower properties (which I've come to consider an annoying blight that punishes developers in