DIP16: Transparently substitute module with package

foobar foo at bar.com
Sat Mar 31 05:39:32 PDT 2012


On Friday, 30 March 2012 at 14:46:16 UTC, Andrei Alexandrescu 
wrote:
> Starting a new thread from one in announce:
>
> http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP16
>
> Please comment, after which Walter will approve. Walter's 
> approval means that he would approve a pull request 
> implementing DIP16 (subject to regular correctness checks).
>
>
> Destroy!
>
> Andrei

Hooray! I was loudly complaining about this issue for years. I'm 
glad this is finally going to be taken care of.

1. Regarding naming - as others mentioned it's inconvenient for 
sorting. How about changing the file extension instead of the 
name? e.g have a "algorithm.package" instead of "algorithm.d"? 
The compiler could even ignore the name of the file as long as it 
has the proper extension - check for existence of "*.package".
The compiler should enforce that there's at most one such package 
file to prevent ambiguities - regardless of the chosen naming 
scheme.

2. Regarding documentation - I'd encourage (via a D style 
guideline) putting the overview of the package in this file. A 
tool such as Ruby's codnar would nicely compliment the reference 
generated by DDoc. see https://www.ruby-toolbox.com/gems/codnar 
for details.

3. std.algorithm should be deprecated and eventually removed. All 
code *is* essentially algorithms and as such importing this 
module makes as much sense as doing:
import code; // generic much?

4. regarding the look-up rules - I'm unsure about this part of 
the proposal. Others already voiced concerns about issues this 
might bring.


More information about the Digitalmars-d mailing list