DIP10005: Dependency-Carrying Declarations is now available for community feedback

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 4 09:00:36 PST 2017


On Wednesday, 4 January 2017 at 15:56:13 UTC, Timon Gehr wrote:
> I don't fully agree. Nested imports, the way they have been 
> implemented, pose a new symbol hijacking hazard.
>

I'd argue this was an existing bug in import handling. This is 
why I like to have very orthogonal definitions.

> It adds basically no implementation complexity [1]. I consider 
> the benefit real, but minor enough to oppose the DIP based on 
> its wacky syntax.
>
> [1] Both static if and static foreach (once it lands) need the 
> same kind of scoping rules.

I know about [1], this is why I did not mentioned it. I don't 
really mind about implementation complexity, I care about 
complexity of the definition. For the following reasons:
  - If the implementation may be complex, it can be isolated 
and/or abstracted away.
  - Interaction with other parts of the language are more 
predictable, including future parts that do not exists yet.
  - It obviate the explosion of trivia experienced devs needs to 
know to use the language.



More information about the Digitalmars-d mailing list