On Tuesday, 11 February 2014 at 04:19:12 UTC, Daniel Murphy 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.
That the idea. In all cases we need some proof of the validity of
having a GC in a system language.
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!