What is the compilation model of D?

Jacob Carlborg doob at me.com
Thu Jul 26 00:11:59 PDT 2012


On 2012-07-25 17:35, David Piepgrass wrote:

> Plus, it isn't just build times that concern me. In C# I'm used to
> having an IDE that immediately understands what I have typed, giving me
> error messages and keeping metadata about the program up-to-date within
> 2 seconds. I can edit a class definition in file A and get code
> completion for it in file B, 2 seconds later. I don't expect the IDE can
> ever do that if the compiler can't do a debug build in a similar timeframe.

That's not necessarily true. The C# and Java compilers in these IDEs are 
built to be able to handle incremental compilation at a very fine 
grained level. We're not talking recompiling just a single file, we're 
talking recompiling just a part of a single file.

DMD and other D compiler are just not built to handle this. They don't 
handle incremental builds at all. There are various reason why it's more 
difficult to make an incremental build system with D. Most of the reason 
are due to meta programming (templates, CTFE, mixins and other things).

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list