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