Migrating dmd to D?

H. S. Teoh hsteoh at quickfur.ath.cx
Thu Feb 28 06:23:33 PST 2013


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.


More information about the Digitalmars-d mailing list