<div dir="ltr">On Mon, Jun 3, 2013 at 2:02 AM, Andreas Rossberg <span dir="ltr"><<a href="mailto:rossberg@google.com" target="_blank">rossberg@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 2 June 2013 22:19, Dmitry Soshnikov <<a href="mailto:dmitry.soshnikov@gmail.com">dmitry.soshnikov@gmail.com</a>> wrote:<br>


>> 4.10 Modules<br>
>><br>
>> STH: Progress since last meeting. Discuss “module naming”, “naming standard<br>
>> modules”.<br>
>> STH: <a href="http://wiki.ecmascript.org/doku.php?id=harmony:modules" target="_blank">http://wiki.ecmascript.org/doku.php?id=harmony:modules</a><br>
>> STH: Wiki is up to date with the current proposal. Spec is “wiki complete”.<br>
>> Jason Orendorff of Mozilla has worked on flushing out semantic issues. Moz<br>
>> is implementinb parsing of modules.<br>
>> STH: Syntax: Made a couple of changes.<br>
>> A. To support anonymous exports<br>
>><br>
>>   export default expr;<br>
>><br>
>>   import $ from ‘jquery’;  // imports default anonymous export<br>
><br>
> I missed that, and current wiki draft doesn't explain it either, but -- what<br>
> was a rationale of using string literals on imports, and, worth, also for<br>
> module names at define?<br>
<br>
</div>Modules won't have lexical scope, they will just be named by (more or<br>
less) arbitrary strings in a single (per-loader) global name space.<br>
That was a change made last November, and some of us (well, me, in<br>
particular) have disagreed with it ever since. You can read up on most<br>
of the pro & con arguments in the recent monster thread starting here:<br>
<br>
<a href="https://mail.mozilla.org/pipermail/es-discuss/2013-April/030165.html" target="_blank">https://mail.mozilla.org/pipermail/es-discuss/2013-April/030165.html</a><br>
<br>
FWIW, I still think this is a fundamental mistake, but it is now<br>
pretty much set in stone. Hopefully, we'll get proper lexical scoping<br>
in ES7.<br></blockquote><div><br></div><div>I'm personally in favor of getting lexical scope in ES7, and retrofitting the current module declarations so that they desugar into the creation of a lexical module and a declarative registration of that module in the registry.</div>

<div><br></div><div>```</div><div>module "foo" {</div><div><br></div><div>}</div><div><br></div><div>// would be equivalent to something like</div><div><br></div><div>module <gensym> {</div><div><br></div>

<div>}</div><div><br></div><div>export module <gensym> as "foo";</div><div>```</div><div><br></div><div>We discussed this briefly at the last meeting on a whiteboard. It requires some more thought, and I'd love to have you help work on something like this for ES7.</div>

<div><br></div><div>I'm glad that we came to a (grudging) consensus on moving forward with the current ES6 proposal for ES6, with a clear idea on where to start for ES7.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<span class="HOEnZb"><font color="#888888"><br>
/Andreas<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</div></div></blockquote></div><br></div></div>