On Wed, Jul 10, 2013 at 8:02 PM, Allen Wirfs-Brock
<[email protected]> wrote:
>
> On Jul 10, 2013, at 4:40 PM, Sam Tobin-Hochstadt wrote:
>
>> On Wed, Jul 10, 2013 at 7:24 PM, Rick Waldron <[email protected]> wrote:
>>>
>>> It gets created nowhere,
>>
>> This is right.
>>
>>> because the body of a module is implicitly strict,
>>
>> And this is right.
>>
>>> so the above code produces a Reference Error.
>>
>> But this is incorrect, because modules check that their bodies don't
>> have free variables, so the above code has a _static_ error.
>
> Ah, do you mean this is a link time check?
>
> It isn't a regular early error situations because gvar could be a dynamically 
> added property on the global object.
>
> Not sure what your current semantics are, but I thought it was established a 
> long time ago that modules needed free references in order to deal with 
> global object properties.

No, that's not what I mean.  The semantics we've discussed multiple
times are that modules are compiled with respect to the global object
at compilation time, and free variables at that point (ie, compilation
time) are a static error.  This is implicit in the discussion here:
http://wiki.ecmascript.org/doku.php?id=harmony:module_loaders (see the
"global objects" section) and explicit in some of the notes, I'm sure.

Sam
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to