On Thu, Feb 28, 2013 at 03:05:31PM +0100, Jacob Carlborg wrote: > On 2013-02-28 11:03, deadalnix wrote: > > >I don't think that is a good idea. > > > >That will impair GDC and LDC quite a lot. Especially GDC as GCC team > >accept C++ only recently. This mean no inclusion in the official GCC > >collection. > > > >This mean that porting DMD to D and making it the default > >implementation imply to stick with DMD backend (and it isn't open > >source even if almost). Not being open source can really impair D's > >popularity. > > > >It also prevent to do actual progress on D during the translation > >process. FInally, Denis's ddmd hasn't succeeded. > > They could stick with the C++ front end and fold in changes as needed. > They can't to direct merges though. [...]
This will be a big problem once the front end is completely written in D. The GDC maintainers will have to translate bugfixes to the D code back to the C++ code. In some cases this may not be possible (D-specific features may be used in the fix, which requires non-trivial translation to C++, which is prone to bugs not in the D code). This will be a lot of maintenance work. This is one of the reasons I suggested using a frozen version of D to write the front end with. That way, we can include the C++ source for that frozen version in GDC, and then bundle the newer D source code with it, so during the bootstrapping process, the GCC scripts first build a working (but older) D compiler from the C++ sources, then use that to compile the newer D source code to produce the final compiler. T -- The trouble with TCP jokes is that it's like hearing the same joke over and over.