<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2014/1/6 Andrei Alexandrescu <span dir="ltr"><<a href="mailto:SeeWebsiteForEmail@erdani.org" target="_blank">SeeWebsiteForEmail@erdani.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 1/5/14 5:22 PM, Martin Nowak wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 12/20/2013 09:43 PM, Martin Nowak wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Couldn't static imports be made lazy without breaking any code?<br>
The above example would read.<br>
<br>
static import std.range.<br>
<br>
void foo(R)(R range) if (std.range.isForwardRange!R)<br>
{<br>
}<br>
</blockquote>
<br>
Furthermore selective import can always be made lazily without changing<br>
code.<br>
<br>
import std.algorithm : min;<br>
<br>
Only if `min` or `std.algorithm` are used the compiler needs to open<br>
std.algorithm.<br>
</blockquote>
<br></div></div>
I thought more about this and I think that's wrong. Making all imports lazy would be a net large win.<br></blockquote><div><br></div><div><div>Honestly, "lazy import" (== defer loading module file and running semantic analysis for symbol search) would improve compilation speed for selective imports and static imports, but it would have no merit for basic imports.</div>
<div><br></div><div>So precisely, "all imports lazy would be a net large win." is not correct.</div></div><div><br></div><div>Kenji Hara</div></div></div></div>