<div dir="ltr">On Tue, Jun 4, 2013 at 6:29 AM, Kevin Smith <span dir="ltr"><<a href="mailto:zenparsing@gmail.com" target="_blank">zenparsing@gmail.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 dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>
<br>
</div>Yep, agreed. (To be pedantic, it's not that it defers execution so much as that it doesn't force execution.)<br></blockquote><div><br></div></div><div>Can you explain?  I would naively expect for this:</div>


<div><br></div><div>    // someModule</div><div>    console.log("someModule");</div><div><br></div><div>    // main</div><div>    import "someModule";</div><div>
    console.log("main");</div><div><br></div><div>when executing main, to output:</div><div><br></div><div>    > someModule</div><div>    > main</div></div></div></div></blockquote><div><br></div><div>In general, expectations about side-effects that happen during module loading are really edge-cases. I would go as far as to say that modules that produce side effects during initial execution are "doing it wrong", and are likely to produce sadness.</div>

<div><br></div><div>In this case, the `import` statement is just asking the module loader to download "someModule", but allowing the app to move on with life and not bother executing it. This would allow an app to depend on a bunch of top-level modules that got executed only once the user entered a particular area, saving on initial boot time.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>
Thanks!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>{ Kevin }</div><div><br></div></font></span></div></div></div>
</blockquote></div><br></div></div>