Purity, memoization and parallelization of dmd

Petar Petar
Tue Jul 21 13:34:50 UTC 2020


On Tuesday, 21 July 2020 at 13:29:55 UTC, Petar Kirov 
[ZombineDev] wrote:
> On Tuesday, 21 July 2020 at 11:37:16 UTC, Atila Neves wrote:
>> [..]
>>
>> That is my dream for D. If the compiler *is* the build system, 
>> then sure, parallelise the compiler. Currently, I don't see 
>> the point of even trying.
>
> In one of the web technologies we use at work, the compiler is 
> used as a library by the build system to build a dependency 
> graph (based on the imports) of all code and non-code assets. 
> Then there is a declarative way to describe the transformations 
> (compilation, minification, media encoding, etc.) that need to 
> be done on each part of the project. The linking step (like in 
> C/C++) is implicit - it's like you invoke the linker which 
> works in reverse to figure out that in order to link 
> dependencies in the form of libraries A and B it needs to first 
> compile them with compilers X and Y.

This increases the coupling between those toolchain projects, but 
in the end, it works pretty well for end-users, like us. Of 
course, the compiler can still be used from the command line and 
we could use regular build systems like Make, but we would lose a 
lot if we go back to those "archaic" ways :D


More information about the Digitalmars-d mailing list