On Mon, 10 Feb 2014 20:19:22 -0800, Daniel Murphy <[email protected]> wrote:

"Xavier Bigand"  wrote in message news:[email protected]...

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

Reply via email to