DMD 1.022 and 2.005 releases

Brad Roberts braddr at puremagic.com
Fri Oct 5 19:54:30 PDT 2007


Bill Baxter wrote:
> Brad Roberts wrote:
>> Bill Baxter wrote:
>>> Brad Roberts wrote:
>>>> Lutger wrote:
>>>>> Brad Roberts wrote:
>>>>>> (moved from digitalmars.D.announce since I'm gonna guess that this 
>>>>>> will spawn a rather large thread)
>>>>>>
>>>>>> On Fri, 5 Oct 2007, Walter Bright wrote:
>>>>>>
>>>>>>> Bug fixes. New (and very modest) C++ interface. Library module 
>>>>>>> overhauls by
>>>>>>> Andrei Alexandrescu. Brad Roberts is working behind the curtain 
>>>>>>> to get phobos
>>>>>>> development much better organized.
>>>>>>
>>>>>> In addition to better organized, over the next several releases of 
>>>>>> the 2.x compiler and it's associated runtime and phobos libraries, 
>>>>>> you can expect to see incremental work towards rationalizing a 
>>>>>> number of the differences between dmd's phobos, gdc's phobos, and 
>>>>>> tango's compiler runtime layers for dmd and gdc.
>>>>>>
>>>>>> I'm not committing to a specific order or timeline at this point, 
>>>>>> just that the work has started.  The unittest fixes in this 
>>>>>> release were a direct result of me getting my hands dirty.
>>>>>>
>>>>>> More soon,
>>>>>> Brad
>>>>>>
>>>>>
>>>>> Great, thank you for your work. I have one question: can you 
>>>>> comment on what will / might happen to the 1.x branch? Is there an 
>>>>> intent to make it compatible with Tango eventually, or is that a 
>>>>> 2.x only thing?
>>>>
>>>> The 1.x branch is for bug fixes.  Where there's changes in Tango 
>>>> that are specifically fixing bugs in the runtime, those will likely 
>>>> go into 1.x and 2.x.  However, most of the changes are 
>>>> restructurings, and those will be 2.x only.
>>>
>>> You meant changes in Phobos, right?
>>>
>>> --bb
>>
>> No, I meant Tango, or at least the runtime layer of it.  It contains 
>> changes that are bug fixes and changes that are re-structurings or 
>> just brand new code.
>>
>> As the changes from Tango are merged into Phobos, those that are 
>> strictly bug fixes, they will apply to both 1.x and 2.x.  The changes 
>> that are not just bug fixes will not go into 1.x but will be 
>> incorporated into just 2.x.
>>
>> Make sense?
> 
> I see, but the same applies to your changes to Phobos, right?  Any 
> changes you, Walter, or Andrei make to Phobos that are just bug fixes 
> will also be going into 1.x, I assume.

Correct.  1.x will only receive bug fixes, no matter the source.

>> There's a natural consequence of this.  For DMD 1.x (and it's Phobos 
>> 1.x), the Phobos vs Tango split is permanent, essentially, unless 
>> Tango is changed to sit on top of the Phobos supplied runtime.  I 
>> don't think that's likely and from my point of view, that's ok.  As D 
>> 2.x (and it's implementation in DMD 2.x) matures and the runtimes 
>> converge, Tango can choose to support 2.x and not need to replace the 
>> runtime but can instead be a darned useful add-on library.
> 
> That's not what I was hoping to hear.  Sounds like that puts any kind of 
> hopes for "the one true D" at least 6 months in the future, since it 
> requires D2.0 const getting finished (3 more months?), then undergoing 
> enough hammering that the Tango team feels comfortable porting to it (1 
> month?), followed by however long it actually takes them to port it (2 
> months?).
> 
> --bb

I expected that sort of response, which is why I felt it worth making 
clear early on.  Managing expectations is at least as important as 
managing the changes and releases. :)

Putting broader changes into the 1.x code line would mean making changes 
that put it's stability and backwards compatibility at risk.  The very 
definition of a why the 2.x code line was started is to keep 1.x frozen 
to allow developers to trust it to remain stable, both from a bug 
standpoint and an api standpoint.

I'm not going to attempt to put a time line on the future.. it's too 
unclear to try to guess and my time machine is on the fritz this week. 
Everyone wants convergence, and it will happen, I'm sure.

Later,
Brad



More information about the Digitalmars-d mailing list