stability
Ary Borenszweig
ary at esperanto.org.ar
Sat Feb 23 16:13:17 PST 2008
Robert Fraser escribió:
> Denton Cockburn wrote:
>> On Sat, 23 Feb 2008 10:16:08 -0800, Walter Bright wrote:
>>
>>> Denton Cockburn wrote:
>>>> [quoted text muted]
>>> D 1.0 regularly gets bug fixes with the focus on improving its
>>> stability.
> D needs a community compiler, with an open frontend & backend, where a large group
> canf ocus on fixing bugs & maintaining stability. Or an expensive
> corporate-backed compiler, I'd expect the same quality from that.
The problem is that it is currently impossible to do that well. Most of
the D specification is in the DMD front end. For example, I see nowhere
in the specification that you cannot change a reference to a static
array, or how to properly determine forward references (these are just
examples, I'm sure there a *lot* of other examples... Descent currently
has 439 (!) distintct kind of errors, converted to IDs from DMD, for the
curious:
http://www.dsource.org/projects/descent/browser/trunk/descent.core/src/descent/core/compiler/IProblem.java).
If most of the specification is the DMD front end, then if the community
makes another, clean compiler, it must be sure it works according to the
specification. The only thing they can do is to test it against the DMD
front end, because most of the error reporting and the logic that tells
you how to find members in modules, when a function is covariant with
another, etc., is in it. But it has some bugs, so... what's the *real*
specification? Just an intuition of how things should work? Ummm...
that's not good.
I'm thinking about something like this:
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
Yeah, I know, it's huge. But it actually even tells you how to implement
a Java compiler without having to read an implementation of it. Then
everything is clear for everyone.
And it's huge and tells you everything because it (probably) wasn't made
by a single person.
More information about the Digitalmars-d
mailing list