I'm getting vary. Does that mean that you want to change the semantics
since ES5.1?

On Mon Feb 17 2014 at 5:12:24 PM, Mark S. Miller <[email protected]> wrote:

> +1.
>
>
> On Mon, Feb 17, 2014 at 2:06 PM, Allen Wirfs-Brock 
> <[email protected]>wrote:
>
> See
> http://people.mozilla.org/~jorendorff/es6-draft.html#sec-delete-operator-runtime-semantics-evaluation
>
>
> A better statement of the question would be can we agree that lexical
> bindings created by eval are always non-deletable binding.  Where or not is
> throws which the various modes is already determined by the existing spec.
> for delete based upon whether or not the binding is deletable.
>
> Allen
>
>
>
>
> On Feb 17, 2014, at 1:16 PM, Mark S. Miller wrote:
>
> In this context, there are two things you might mean by "throws":
> a) That this delete is an early error within the evaled program, and
> therefore throws before any of the code in the evaled program executes.
> b) That the delete is a dynamic error that happens when the delete
> executes, and therefore that the evaled code prior to the delete has
> executed before the error is thrown.
>
> -1 on #b.
>
> Assuming you mean #a, between #a and silence, I'm torn. Here are pros and
> cons:
> pro #a: The program is wrong. Silence fails to bring it to anyone's
> attention, making the mistake less likely to be fixed. And making it more
> likely the program's execution deviates from author's intent.
> con #a: Silence on sloppy wrong programs are least surprise, and is
> arguably the most vivid different between sloppy and strict.
>
> I doubt there's any sensible choices other than #a and silence.
>
>
>
> On Mon, Feb 17, 2014 at 12:52 PM, Allen Wirfs-Brock <[email protected]
> > wrote:
>
> So, #3 appears to be the winner.
>
> Given that,  can we also agree that  this is throws (or at least that the
> delete does nothing):
>
> eval ("let x=5; delete x;");
>
> (bug https://bugs.ecmascript.org/show_bug.cgi?id=1111 )
>
> Allen
>
>
>
> On Feb 17, 2014, at 8:02 AM, Erik Arvidsson wrote:
>
> I'm also fine with 3.
>
> On Mon Feb 17 2014 at 10:39:47 AM, Jeremy Martin <[email protected]>
> wrote:
>
> Happy to concede to #3 on my end.  Just wanted to be clear that it seems
> to be optimizing for future happiness vs. least surprising behavior (which
> isn't a bad thing).
>
>
> On Mon, Feb 17, 2014 at 10:26 AM, Jorge Chamorro 
> <[email protected]>wrote:
>
>  On 17/02/2014, at 13:42, Andreas Rossberg wrote:
> > On 15 February 2014 06:10, Brendan Eich <[email protected]> wrote:
> >> Allen Wirfs-Brock wrote:
> >>>
> >>> Another consideration in the back of my mind is that there may be
> useful
> >>> to implementors to knowing that let/const/class declaration are never
> >>> dynamically added to a non-global environment.
> >>
> >> +lots, this should be front of mind.
> >>
> >> In a block, we want the bindings local to that block to be statically
> >> analyzable. We want no non-local mode effects. So, #3 still wins.
> >
> > Strongly seconded.
>
> And even thirded.
>
> --
> ( Jorge )();
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
> --
> Jeremy Martin
> 661.312.3853
> http://devsmash.com
> @jmar777
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
> --
>     Cheers,
>     --MarkM
>
>
>
>
>
> --
>     Cheers,
>     --MarkM
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to