On 2011-01-18 10:22, bearophile wrote:
Vladimir Panteleev:

IMO, sticking to the C-ism of "one object file at a time" and dependency
on external build tools / makefiles is the biggest mistake DMD did in this
regard.

A Unix philosophy is to create tools that are able to do only one thing well, 
and rdmd uses DMD to do its job of helping compile small projects 
automatically. Yet the D compiler is not following that philosophy in many 
situations because it is doing lot of stuff beside compiling D code, like 
profiler, code coverage analyser, unittester, docs generator, JSON summary 
generator, and more. D1 compiler used to have a cute literary programming 
feature too, that's often used by Haskell blogs.

Here Walter is pragmatic: docs generator happens to be quicker to create and 
maintain if it's built inside the compiler. So it's right to fold this rdmd 
functionality inside the compiler? Is this practically useful, like is this 
going to increase rdmd speed? Folding rdmd functionality inside the compiler 
may risk freezing the future evolution of future D build tools, so it has a 
risks/costs too.

Bye,
bearophile

I would say that in this case the LLVM/Clang approach would be the best. Build a solid compiler library that other tools can be built upon, including the compiler.

--
/Jacob Carlborg

Reply via email to