Proof of concept for v2 - NO duplication, NO `static if` hell, NO difficulty with interoperability

bachmeier no at spam.net
Mon Nov 1 19:05:56 UTC 2021


On Monday, 1 November 2021 at 13:38:44 UTC, Ola Fosheim Grøstad 
wrote:

>> This is an argument in favor of versioning. V1 can have all 
>> those properties, and subsequent versions can build on it.
>
> If you only extend, but then you don't need explicit 
> versioning. Versioning the language/compiler would be 
> sufficient.

Maybe I'm not understanding, but if V1 includes, say, 
std.range.primitives, you would know you could always rely on 
everything in it to work exactly the same way for the next 50 
years. V2 would include the first stab at std.range.interfaces, 
V3 would include a different version of std.range.interfaces that 
takes advantage of the things we've learned, and the end user 
could decide which to use. It's true that you wouldn't need 
versioning of std.range.primitives, but it's still part of the 
standard library and you'd need some way to identify that it's 
guaranteed to not change, so calling it V1 would be convenient. 
It wouldn't hurt anything to have only one version of some 
functionality.


More information about the Digitalmars-d mailing list