<div dir="ltr">Are there any proposals regarding built-in module mechanisms or at least someone to champion it during ECMA meetings? Similar to Joe's point if this isn't a blocking issue then releasing item after item into the global scope means they are stuck there forever (unless something like "use stricter"; or whatever other silliness is added to gate the changes). This seems to me like it shouldn't be that hard to do if someone is championing / proposing.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 23, 2016 at 8:26 PM, /#!/JoePea <span dir="ltr"><<a href="mailto:joe@trusktr.io" target="_blank">joe@trusktr.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:#000000">True, I understand we can't practically do it at the moment since native module systems aren't implemented yet. I guess I am simply expressing that it would be awesome and that I can't wait for that to happen sooner than later so that new awesome features/tools can be modules instead of globals.</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:#000000"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:#000000">The part that gives me a tiny bit of despair is that if something is released as a global, then it will stay that way essentially forever, for backwards compatibility. That is the part that makes me feel a tiny bit bad inside considering that the amazing language for modules is already defined.</div></div><div class="gmail_extra"><span class="HOEnZb"><font color="#888888"><br clear="all"><div><div data-smartmail="gmail_signature"><div dir="ltr"><b style="font-size:12.8px">/#<i>!</i>/</b><font face="courier new, monospace" style="font-size:12.8px">JoePea</font><br></div></div></div></font></span><div><div class="h5">
<br><div class="gmail_quote">On Tue, Aug 16, 2016 at 9:49 PM, Jordan Harband <span dir="ltr"><<a href="mailto:ljharb@gmail.com" target="_blank">ljharb@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">We don't yet have a mechanism for built-in modules, and that's not going to be an obstacle for continuing to improve the language.<div><br></div><div>As soon as a viable mechanism and precedent exists for that, new things very well might only be added via that mechanism, rather than solely by adding new global things.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Aug 16, 2016 at 6:52 PM, /#!/JoePea <span dir="ltr"><<a href="mailto:joe@trusktr.io" target="_blank">joe@trusktr.io</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">Seems like when the ES6 Modules became official that it would be a good idea to *not* define more globals in the language, and instead spec things to be modules, f.e. something like:</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">```js</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">import {apply} from 'Reflect'</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">// insead of</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">const {apply} = window.Reflect</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">```</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">This would also be a pattern for programs that use the JS engine to follow:</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">```js</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">import {define} from 'CustomElements' // in browsers</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">// instead of</div><div class="gmail_default"><font color="#000000" face="georgia, serif">const {define} = window.customElements</font></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">```</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)">Maybe a symbol would be needed for any modules that are native?</div><div class="gmail_default" style="font-family:georgia,serif;font-size:small;color:rgb(0,0,0)"><br></div><div class="gmail_default"><div class="gmail_default"><font color="#000000" face="georgia, serif">```js</font></div><div class="gmail_default"><font color="#000000" face="georgia, serif">import {define} from '#CustomElements' // # means native module</font></div><div class="gmail_default"><font color="#000000" face="georgia, serif">```</font></div></div><span><font color="#888888"><br clear="all"><div><div data-smartmail="gmail_signature"><div dir="ltr"><b style="font-size:12.8px">/#<i>!</i>/</b><font face="courier new, monospace" style="font-size:12.8px">JoePea</font><br></div></div></div>
</font></span></div>
<br></div></div>______________________________<wbr>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listi<wbr>nfo/es-discuss</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div></div>
<br>______________________________<wbr>_________________<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" rel="noreferrer" target="_blank">https://mail.mozilla.org/<wbr>listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>