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.