Import concerns revisited

Dave Dave_member at pathlink.com
Sun Jul 9 11:06:40 PDT 2006


John Reimer wrote:
> In article <e8qjkf$2tqc$1 at digitaldaemon.com>, Walter Bright says...
>> Ivan Senji wrote:
>>> Sure I could use
>>>
>>> static import m2;
>>> alias m2.func f2;
>>>
>>> And that would be an improvement but it is still longer (and arguably
>>> less understandable) than:
>>>
>>> import m2.func as f2; ;) :)
>> Let's say you're going to do more than one:
>>
>> static import m2;
>> alias m2.func f2;
>> alias m2.abcd f3;
>> alias m2.efgh f4;
>>
>> vs:
>>
>> import m2.func as f2;
>> import m2.abcd as f3;
>> import m2.efgh as f4;
>>
>> Not much of a difference. I'm also not understanding why alias is hard 
>> to understand.
> 
> Well, your example is just showing selective renaming from /one/ module.
> Naturally these two are going to be very similar.  Please look at Kris'
> suggestion, thoroughly.  The whole system is vastly superior once one starts
> referencing selective importing from multiple modules.  The total number of
> lines are cut in half verses using static import and alias.
> 
> Also, for selective import, I think using "from" instead of "with" looks much
> better.

I agree that 'from' is better than 'with', but I just don't see the 
advantage of

from m2 import func,abcd,efgh;

over the likes of

import m2.func, m2.abcd, m2.efgh as f4;
import std.stdio, this.other.cool.db.lib as dblib;

because then you get the aliasing in there as well. True, there's a 
little redundant typing of 'm2'.

Also,

from m2 private import func,abcd,efgh;

or

private from m2 import func,abcd,efgh;

sucks IMO.

> 
> -JJR
> 



More information about the Digitalmars-d mailing list