DMD 1.038 and 2.022 releases

John Reimer terminal.node at gmail.com
Sat Dec 20 14:05:23 PST 2008


Hello Derek,

> On Sat, 20 Dec 2008 18:45:24 +0100, Lars Ivar Igesund wrote:
> 
>> bearophile wrote:
>> 
>>> Walter Bright:
>>> 
>>>> Excess isn't the problem, I want to see if import cycles is.
>>>> 
>>> Generally all the modules in my dlibs import each other. This is
>>> nearly unavoidable, if a module contains string functions, and
>>> another one contains math stuff, the string module will want to use
>>> some math stuff and the math module may need string representations
>>> and processing. In the D specs I haven't seen an advice to not use
>>> cyclic imports, so I don't want such compiler flag, I prefer a
>>> compiler able to manage such cyclic imports efficiently.
>>> 
>> Cyclic imports is very often a sign of bad design, it typically mean
>> (if it is unavoidable), that the modules shouldn't be separated in
>> the first place. And in D it _is_ a bad idea because static
>> initialization cannot depend on each other, that is cyclic imports of
>> modules with static ctors.
>> 
> Just thinking out aloud ...
> 
> If two modules import each other and this can be 'fixed' by instead
> having both modules as a single module, what is stopping the compiler
> from just pretending that they are a single module for compilation
> purposes?
> 
> This does assume that they are to be compiled at the same time rather
> than one-file-at-a-time.
> 


Interesting idea. :)

Maybe there would be issues with module ctors and __FILE__/__LINE__ expressions 
too?
Also it may mess up module info, debug, and other object attributes.

-JJR




More information about the Digitalmars-d-announce mailing list