Import concerns revisited

Johan Granberg lijat.meREM at OVEgmail.com
Tue Jul 11 17:36:25 PDT 2006


xs0 wrote:
>>>> The one problem with that may be compilation speed. I suspect that a 
>>>> big part of  Java's compile-time and load-time problems are because 
>>>> of all the symbol loading it has to do for a typical class path to 
>>>> enable things like automatic FQN availability. At the command line, 
>>>> the C# compiler actually isn't that fast either for small programs, 
>>>> but in the IDE it seems fast because all this stuff is pre-loaded.
>>>
>>> I don't think it would affect compilation speed at all. Stuff only 
>>> needs to be looked up when referenced, and if referenced, it needs to 
>>> be imported anyway.
>>>
>>
>> I don't think that is correct for the reference compiler, because 
>> Walter's 'static import' proposal still imported the entire module 
>> (probably because the way the compiler works now is to 'load' an 
>> entire imported module, IIRC).
> 
> Hmm, we were talking about the possibility of implicit importing when 
> using FQNs (I think ;)
> 
> But it's the same - whatever causes an import (current import, static 
> import, implicit import by FQN, single member import), the processing of 
> a module takes about the same time, because it's basically doing the 
> same thing in every case.. OK, perhaps an implicit import would need a 
> few file accesses to determine which part of the FQN is the actual 
> module/file, but in the grand scheme of things, that should take a 
> negligible amount of time...
> 
> Hmm.. considering that imports can be placed anywhere and module names 
> aren't allowed to conflict with anything, it should be quite simple to 
> support "auto-static-importing" on encountering an unknown FQN.. That 
> would allow the following without any new syntax at all:
> 
> alias some.module.name smn; // imports and renames a whole module
> alias some.module.name.Class smnClass; // imports a single member
> 
> std.stdio.writefln("I just need this function from stdio");
> 
> 
> xs0
This would bee useful espesialy for quick things like writefln and 
similar. (if we got this i would probably stop using printf)



More information about the Digitalmars-d mailing list