On Tuesday, 23 June 2015 at 17:53:43 UTC, John Colvin wrote:
Isn't this what selective imports are for?
Not quite the same thing: selective imports control which symbols you pull into the current namespace, but not which code gets pulled into the binary.
If you do `import foo : bar;`, the compiler processes all of foo (consider that it has to, just to find the name), generating the object file for it, but only exposes the name `bar` to you.
With smaller basic modules, if you only import the foundation, the compiler only has to look at that small file and only has to include its contents in the object file.