Is D 0.163 D 1.0?

Miles _______ at _______.____
Sat Jul 22 18:37:00 PDT 2006


Walter Bright wrote:
> I think the title says it all.

Things I think should be defined by 1.0:
 - How version numbers will be used;
 - How to classify a compiler as D 1.0-compliant (ABI specs).

The first one is simple, and I have a suggestion: Use a 3-piece version
number schema, this way:

  1.0.0 -> D Language Spec 1.0, first compiler version

  1.x.(y++) -> Compiler fixes, without changes to D lang spec. Any code
written to any 1.x.y version should be acceptable to any other 1.x.z
version of the compiler, as long as it is the same x. Of course, ABI
should also not change.

  1.(x++).0 -> When changes are made to the lang spec, in a backwards
compatible way. Any code written to a 1.x.y version should be still
valid for 1.(x+1).0, or any other 1.z.0 version, as long as z >= x. ABI
should not change.

  (w++).0.0 -> When changes are made to the lang spec that would break
legacy code, or require a different binary interface.

The second one is more difficult, and important IMO. The /d/abi.html
page in its current state is ridiculous. The way it is now, there are no
parameters to tell what is acceptable as a D compiler output. Anyone
could create a D compiler which parses the language perfectly, but
generates code completely non-interoperable with both DMD and GDC, and
still call it a D compiler.

Miles (a D newsgroup lurker, who only occasionally posts)



More information about the Digitalmars-d mailing list