On Wednesday, 24 April 2013 at 12:03:52 UTC, Dmitry Olshansky
wrote:
Basically an import graph of Phobos is a rat's nest of mutual
imports.
With the most of modules being template "toolkits" you
shouldn't pay for what you don't use. Yet it isn't true in
general as the module may drag in other modules and with that
all of static constructors and/or globals related.
Thoughts? Other ideas?
I think your concept idea introduces unnecessary complexity.
What are you actually worried about? Compile times? Program size?
Startup time?
Is compile time a problem?
Program size should be handled by the compiler. It is much better
at pruning dead code.
Startup time should be handled by the modules themselves. For
example, std.random could initialize the global RNG only on
demand.