Thoughts on versioning

Andrei Alexandrescu SeeWebsiteForEmail at
Tue Oct 26 16:48:28 UTC 2021

On 10/26/21 10:53 AM, Paul Backus wrote:
> On Tuesday, 26 October 2021 at 14:41:38 UTC, Andrei Alexandrescu wrote:
>> I foresee the following challenges:
>> * Evolution to future versions. Does copying the whole codebase and 
>> tweaking it scale to e.g. annual releases of Phobos? Five years from 
>> now we'll have essentially five copypastas. How do you maintain them?
> Simple: release the new version on, and don't merge it 
> into Phobos proper until its API is stable and it's had time to fully 
> bake. No need for annual releases, no need for multiple rounds of 
> copy-pasta.
> As far as I can tell all past experience should tell us that Phobos is a 
> bad place to develop new code, and is a good one. 
> Consider `sumtype`: it began development in 2018 as a dub package, and 
> was merged into Phobos in 2021 after reaching version 1.0. Meanwhile, 
> `std.experimental.allocator` was started several years *before* 
> `sumtype` (git history goes back to 2015), but still has not reached a 
> stable, finished state.

That definitely should be the way for any new component to be added. For 
incremental evolution of the entire library (e.g. no autodecoding, 
reduce use of the GC and exceptions), putting the code elsewhere has the 
same issues as copypasta.

More information about the Digitalmars-d mailing list