Next focus: PROCESS
deadalnix
deadalnix at gmail.com
Sat Dec 15 23:39:08 PST 2012
On Sunday, 16 December 2012 at 03:59:33 UTC, Rob T wrote:
> On Thursday, 13 December 2012 at 07:18:16 UTC, foobar wrote:
>>
>> Per my answer to Rob:
>> D2 *is* the major version.
>> releases should be minor versions and largely backwards
>> compatible - some evolution is allowed given some reasonable
>> restrictions like a proper migration path over several
>> releases.
>> Critical bug-fixes can go directly on stable releases but
>> nothing else.
>>
>
> I just realized that we are mixing together the version numbers
> for two entirely different things.
>
> As you have correctly pointed out, one of the version numbers
> is for the D language specification, which is version
> 2.something, the other version is for the compiler releases,
> which has the major language specification version assigned to
> identify it as supporting version 2.something of the D
> language. The remaining numbers indicate incremental releases
> which may also roughly correspond to the minor evolutionary
> changes to the language specification, i.e., does DMD 2.061
> also mean D specification 2.061?
>
Yes it does. If new features are introduced, then this is by
definition a change in the specs.
> I think it makes good sense that the "2" is used to indicate
> that the compiler supports D major version 2 of the
> specification, but we should all be clear that is all that it
> represents. Therefore DMD 3.x will never appear unless there's
> a D language ver 3 specification for it to support.
>
A version 3 would means introducing change in the specification
that may break a lot of code. This is type of stuff you shouldn't
do often.
> A completely separate issue that should be dealt with, is that
> the language specification's version number is not indicated
> anywhere that I could see. We just assume it's version
> 2.something and we have no idea where the "something" part is
> currently at or what has changed since ver 2.0. This is no good
> because it means that we cannot indicate in the compiler
> release change log what minor version of the 2.x specification
> the compiler is actually supporting.
>
The compiler source code is probably what we have that look like
the most as a spec right now.
More information about the Digitalmars-d
mailing list