On Mar 3, 2011, at 5:33 PM, Waldemar Horwat wrote:

> If we're saying that Harmony is strict-only, settable by a <script> tag, what 
> will indirect eval and the Function constructor do if the evaluated code 
> doesn't start with a "use strict" directive?

Yeah, "strict-only" is probably not quite the right way to describe it. We 
discussed this a bit at the last face-to-face. Generally, Harmony still has to 
allow for the existence of non-Harmony code living and executing in the same 
heap. For example, a web page can contain

    <script type="application/javascript">...</script>
    <script type="application/javascript?version=HARMONY">...</script>

and the bindings of both can see each other. If I remember right, the semantics 
we've talked about is that indirect eval defaults to ES5 non-strict. So the 
answer to your question is: the indirect-eval'ed code is non-strict.

So I think it might be a little misleading to say Harmony is strict-only. It's 
a little more accurate to say that by default, Harmony code assumes the 
restrictions of ES5 strict mode and builds from there. However, it is possible 
to access and evaluate non-strict code via indirect eval, or -- in the browser 
setting, for example -- via access to code defined in non-Harmony.

Dave

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to