Phobos version naming

Stanislav Blinov stanislav.blinov at gmail.com
Wed Nov 3 20:03:48 UTC 2021


On Wednesday, 3 November 2021 at 19:30:13 UTC, Andrei 
Alexandrescu wrote:
> On 2021-11-03 11:37, Andrei Alexandrescu wrote:
>> I'd like to devise a robust version naming for Phobos. What is 
>> the best way?
>> 
>> Currently it's std.v2 but I'm unclear how it goes from there. 
>> By semver we'd go with std.v2_0_1 and so on.
>> 
>> Walter and others say it's better to have "std2" at top level 
>> instead of "std.v2" nested inside std. I confess I chose 
>> "std.v2" partially because it's easier to implement. But we 
>> can go either way. What would be best?
>> 
>
> One thought; we could call version actual names, like Ubuntu 
> and OSX do. The version numbers will be a minor detail in the 
> documentation.

Please don't do that. Picking good names is hard, and such naming 
complicates communication between developers (esp. those not 
fluent in language of choice, or not familiar with name origins). 
What if a given name is just unnatural to pronounce in your 
language? And how do you even maintain the ordering then?

To me, it'd be "better" to have std at top level, not std2 or 
std1005000220. So how about turning it around? During 
development, whatever next iteration is would be stdNext (or 
std.next). At release, it becomes the new std and the *previous* 
one gets a number (i.e. in current circumstance it'll become 
std.v1). The number may even be date of retirement.
This way it can be made as alias internally, so we can keep 
whatever the actual number is rolling, and still be able to break 
things that need breaking, and get to have easier to implement 
"std.vN".

This makes what's actually standard always, well, standard.

If someone wants or needs old stuff for some reason, it becomes 
THEIR responsibility to maintain their compatibility (i.e. 
s/<std>/std.vX/g), as it should be.


More information about the Digitalmars-d mailing list