I only want to discuss an idea here. I am hoping see some nice
pros and cons from people.
---
We have this feature in D:
template something(T){
void something(T value){ writeln( value ); }
}
something("Hello");
Because the name of template and function match each other,
"something" is accepted as name of function.
---
Especially in Phobos, and also in my own libraries, there are
name duplications. The cause of this is that we want to define
things separately, hence defining a new module for them, but the
name of module and class name becomes same. My thought/request is
that, if the name of module and a
variable/constant/struct/class/template/enum that is in that
module matches each other exactly, as seen in the example above,
without name duplication, access should be passed to that
variable/con... etc.
Currently, by using package.d, this is supported in "made up" way
by putting programmer into duplication again while using
directories, but for module itself, I do not see any solution
currently.
Currently, I couldn't have found any issue about adding this
feature. So is the proposal.
module my.big.lib.createFile;
void createFile( string fname ){}
Somewhere else in the code universe:
my.big.lib.createLib("FSociety.dat");