About Go, D module naming

Timon Gehr timon.gehr at gmx.ch
Fri Dec 21 18:55:03 PST 2012


On 12/22/2012 02:44 AM, Walter Bright wrote:
> On 12/21/2012 12:44 AM, Timon Gehr wrote:
>> ... modulo the private symbol clash issue. For all I know it is
>> deliberate,
>> which is embarrassing. Other than obviously breaking modularity, it
>> severely
>> restricts the usefulness of symbol disambiguation (which it makes
>> necessary when
>> it should not be), because the disambiguating alias may introduce more
>> conflicts
>> even if it is private, all over the code base.
>
> The reason it is that way is to avoid having it behave gratuitously
> differently than how visibility works within classes and structs.

I do not get that. The problem is that private symbols clash with public 
symbols in different modules. class and struct members are not even 
liable to inter-module overloadset-overlapping, which is necessary for 
this to happen.

How it works within classes and structs only affects the exact contents 
of error messages anyway, right? (not accessible vs. not defined) I'd 
consider that a compiler implementation detail.

Furthermore, I do not think there can be any kind of justification for 
the current behaviour in the first place.


More information about the Digitalmars-d mailing list