phobos dependencies

Michel Fortin michel.fortin at michelf.ca
Fri Dec 20 11:20:12 PST 2013


On 2013-12-20 17:27:55 +0000, Andrei Alexandrescu 
<SeeWebsiteForEmail at erdani.org> said:

> I had this idea fot a while, and Walter is favorable of it as well - 
> extend "import" for one-shot use. With that feature the example would 
> become:
> 
>      void topN(alias less = "a < b",
>              SwapStrategy ss = SwapStrategy.unstable,
>              Range, RandomGen)(Range r, size_t nth, ref RandomGen rng)
>          if (isRandomAccessRange!(Range) && hasLength!Range
>              && import.std.random.isUniformRNG!RandomGen)
>      { ... }
> 
> In this case "import" would syntactically be placed at the beginning of 
> a qualified name, meaning "import this module lazily and look up the 
> symbol in it".
> 
> This would simplify quite a lot of two-liners into one-liners in other 
> places, too.

How do you solve the problem that in D you can't tell the module name 
from a fully qualified names? For instance:

	import.std.something.somethingelse.anotherthing = 1;

Is the module std? std.something? std.something.somethingelse? It could 
be any of these answers.

	module std.something;
	struct somethingelse { static int anotherthing = 0; }

or

	module std.something.somethingelse;
	int anotherthing = 0;


-- 
Michel Fortin
michel.fortin at michelf.ca
http://michelf.ca



More information about the Digitalmars-d mailing list