Right, let/const/class Allen
On Feb 17, 2014, at 2:19 PM, Mark Miller wrote: > No, absolutely not. By "lexical", I took Allen to mean the new reliably > block-local binding forms: "let", "const", "class" > > > On Mon, Feb 17, 2014 at 2:17 PM, Erik Arvidsson <erik.arvids...@gmail.com> > wrote: > 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 <erig...@google.com> wrote: > +1. > > > On Mon, Feb 17, 2014 at 2:06 PM, Allen Wirfs-Brock <al...@wirfs-brock.com> > 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 <al...@wirfs-brock.com> >> 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 <jmar...@gmail.com> 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 <jo...@jorgechamorro.com> >>> wrote: >>> On 17/02/2014, at 13:42, Andreas Rossberg wrote: >>> > On 15 February 2014 06:10, Brendan Eich <bren...@mozilla.com> 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 >>> es-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >>> >>> -- >>> Jeremy Martin >>> 661.312.3853 >>> http://devsmash.com >>> @jmar777 >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> >> >> >> -- >> Cheers, >> --MarkM > > > > > -- > Cheers, > --MarkM > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > > > > -- > Text by me above is hereby placed in the public domain > > Cheers, > --MarkM
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss