On Thu, Jan 5, 2012 at 11:47 PM, Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com">allen@wirfs-brock.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class="im"><blockquote type="cite"><div><br></div><div>    1) program using only ES3 features and no "use strict";</div><div><br></div><div>    2) program using only ES5 strict features and saying "use strict";</div>
<div><br></div><div>
    3) program using ES6-only features.</div><div><br></div><div>Do these three programs operate in three different modes? If not, do #1 and #2 operate in the same mode, or do #2 and #3 operate in the same mode?</div></blockquote>
<div><br></div></div><div>It isn't about "modes".  #1 and #2 are ES5 programs and are processed as such (applying/not the appropriately strictness as per ES5) . #3 is an ES6 program is processed as such (including using the strict semantics that are universal to ES6).</div>
</div></div></blockquote><div><br></div><div>Ok, is there any observable difference between what you would have future browsers do, vs the equivalent mechanisms except that program #2 is categorized as an ES6 program and processed as such?</div>
<div><br></div><div>If there is no observable difference, good. Then it's only a matter of how we describe an agreed semantics. If there is an observable difference, how is this not three modes?</div><div><br></div><div>
 </div></div>-- <br>    Cheers,<br>    --MarkM<br>