Reducing the inter-dependencies (in Phobos and at large)

qznc qznc at go.to
Wed Apr 24 09:08:28 PDT 2013


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.


More information about the Digitalmars-d mailing list