Migrating dmd to D?

deadalnix deadalnix at gmail.com
Thu Feb 28 02:03:25 PST 2013


On Thursday, 28 February 2013 at 00:37:50 UTC, Andrei 
Alexandrescu wrote:
> Hello,
>
>
> Walter and I have had a long conversation about the next 
> radical thing to do to improve D's standing. Like others in 
> this community, we believe it's a good time to consider 
> bootstrapping the compiler. Having the D compiler written in D 
> has quite a few advantages, among which taking advantages of 
> D's features and having a large codebase that would be its own 
> test harness.
>
> By this we'd like to initiate a dialog about how this large 
> project can be initiated and driven through completion. Our 
> initial basic ideas are:
>
> 1. Implement the dtoh standalone program that takes a D module 
> and generates its corresponding C++ header.
>
> 2. Use dtoh to initiate and conduct an incremental port of the 
> compiler. At given points throughout the code D code will 
> coexist and link with C++ code.
>
> 3. At a point in the future the last C++ module will be 
> replaced with a D module. Going forward there will be no more 
> need for a C++ compiler to build the compiler (except as a 
> bootstrapping test).
>
> It is essential that we get support from the larger community 
> for this. This is a large project that should enjoy strong 
> leadership apart from Walter himself (as he is busy with 
> dynamic library support which is strategic) and robust 
> participation from many of us.
>
> Please chime in with ideas on how to make this happen.
>
>
> Thanks,
>
> Andrei

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.


More information about the Digitalmars-d mailing list