<div dir="ltr">On Mon, Jun 3, 2013 at 11:33 AM, Yehuda Katz <span dir="ltr"><<a href="mailto:wycats@gmail.com" target="_blank">wycats@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I've advocated for this in the past. I believe it should be allowed.<div class="gmail_extra">
<div class="gmail_quote">

<div><br></div><div>Separately, I would like this form to be specified as deferring execution until bindings are explicitly imported (from another module), or a synchronous `System.get` call is made.</div></div></div></div>
</blockquote><div><br>It makes the static import language a bit more expressive, but why is it necessary?<br><br>For performance? The alternative, if a module has expensive 
initialization, would be to have it initialize itself more lazily.<br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra">
<div class="gmail_quote"><div>This would make it possible to guarantee that a synchronous `System.get` will succeed, without being forced to execute the module first.</div></div></div></div></blockquote><div><br></div><div>
It would definitely make that possible, but what `System.get()` use case are you looking to support? To my mind `System.get()` is like examining `$LOADED_FEATURES` in Ruby or `sys.modules` in Python; those use cases exist, but the kind of code you're writing when you touch those is typically either an egregious hack or it's generic across all modules, right? They don't need or merit syntactic support.<br>
<div><br></div><div>I want to understand the motivation, because Domenic asked for syntax that just loads and runs a module, without bindings. It seems like we could support that feature with a tweak of the grammar, but you're proposing taking that exact syntax and using it for something else. I expect people trying to load and run a module will greatly outnumber people trying to load and *not* run a module.  Wouldn't we be astonishing more people by doing it your way?<br>
</div><br></div><div>-j<br><br></div></div></div></div>