Import concerns revisited
Dave
Dave_member at pathlink.com
Tue Jul 11 10:09:18 PDT 2006
jcc7 wrote:
> In article <e90enb$2cbl$1 at digitaldaemon.com>, Dave says...
>> Walter Bright wrote:
>>> kris wrote:
>>>> Walter Bright wrote:
>>>>> 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.
>>>>
>>>> You've seen the requested syntax for this option, Walter. Let's
revisit it again:
>>>>
>>>> # with m2 import func, abcd, efgh;
>>> The equivalent would be:
>>>
>>> with m2 import func as f2, abcd as f3, efgh as f4;
>> Just curious, why not:
>>
>> import from m2 func as f2, abcd as f3, efgh as f4;
>> or
>> import with m2 func as f2, abcd as f3, efgh as f4;
>>
>> because then it is more consistent both for D (all imports start
with 'import') and in pure english language terms (starts with a verb
instead of a preposition like other C-lineage languages do with their
/include/import/using).
>
> I think something like these are even better (though in the end it's
going to be
> an opinion thing):
>
> import m2 = f2, abcd = f3, efgh = f4;
> import m2 : f2, abcd : f3, efgh : f4;
>
> I don't know why "as" would be used as an identifier, but D already
has enough
> keywords! ;)
>
With one clarification:
import theAlias = theSymbol; // right associative
import theSymbol : theAlias;
or even simpler (and matching alias syntax)
import theSymbol theAlias;
Either one fine by me!
> jcc7
More information about the Digitalmars-d
mailing list