DDMD as showcase?

Adam Wilson flyboynw at gmail.com
Mon Feb 10 20:36:28 PST 2014


On Mon, 10 Feb 2014 20:19:22 -0800, Daniel Murphy  
<yebbliesnospam at gmail.com> wrote:

> "Xavier Bigand"  wrote in message news:ldbpum$1pov$1 at digitalmars.com...
>
>> Firstly is there some progress on the DDMD project or maybe an other D  
>> boostrap?
>
> The old ddmd project is pretty much dead AFAIK  
> (http://www.dsource.org/projects/ddmd) and was never up to date with the  
> current compiler.
>
> For about a year I've been working on automatically converting the  
> compiler source from C++ to D.
>
> The conversion has produced a working compiler on win32/linux32/linux64  
> (other platforms need trivial patches) that compiles druntime/phobos/the  
> test suite without errors.
>
> The current effort is around cleaning up the C++ source to produce  
> higher quality D code.  The next major step is to actually switch  
> development to the D version.
>
> Outstanding patches:
> https://github.com/D-Programming-Language/dmd/pull/1980
>
> Conversion tool:
> https://github.com/yebblies/magicport2
>
> You can see some of the recent patches (marked DDMD) here:
> https://github.com/yebblies?tab=contributions&period=monthly
>
>> There is a lot of thread and debate around the GC of D, I interrogate  
>> me on the capacity of a project like DDMD to prove to every D users  
>> that the GC is perfectly usable for system applications. If not it will  
>> certainly be improve during the DDMD development to a point can satisfy  
>> almost everybody?
>
> There are no planned GC modifications for the DDMD project.  It may  
> result in some compiler devs taking more of an interest in the GC.
>

The GC itself is an orthogonal issue to the compiler. The way I see it,  
once the compiler can output precise information about the heap, stack,  
and registers, you can build any GC you want without the compiler  
requiring any knowledge of the GC.

>> As I know DMD doesn't release memory, these will have to be fixed in  
>> DDMD to match the memory management most application have to apply.
>
> Yes, DDMD will use the GC, although it currently has it disabled due to  
> a segfault I haven't tracked down yet.
>
>> I see many interesting points in DDMD :
>>   - prove GC based compiler isn't longer to optimize than the C++  
>> version (and capable to reach same performances)
>>   - will reveal more language issues or phobos miss.
>
> Maybe, but so far additions to the language have been minimal, and DDMD  
> does not currently use phobos.  It is also slower than the C++ version,  
> part of which is due to the GC being slower than the bump-pointer  
> allocator used in the C++ dmd.
>
>>   - will be easier to maintain and update
>
> Exactly!


-- 
Adam Wilson
GitHub/IRC: LightBender
Aurora Project Coordinator


More information about the Digitalmars-d mailing list