std.v2020.algorithm etc[ WAS: Is run.d going to be expand for runtime and the phobos library?]

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Jun 13 21:48:51 UTC 2020


On 6/13/20 4:37 PM, jmh530 wrote:
> One problem is that if you allow people to make bug fixes to old phobos 
> versions, then there is no way for the subsequent releases to get the 
> updates as if you could with a git branch. You would have to do them all 
> manually.

It's not that bad. Typical newer iterations of phobos versions would 
simply list as public the unchanged symbols, so they are "deltas". Fixes 
to unchanged symbols would just propagate. Indeed fixes to changed 
symbols would need to be propagated manually, but even that may be 
mitigated by having the newer versions call the older versions on occasion.

More importantly versioning allows us to experiment with things such as 
"let's use assert and Expected instead of throwing throughout". These 
are definitely breaking APIs, but can be implemented easily in such a 
way that both the backward-compatible version and the new version share 
the same codebase. (You can wrap noexcept code in code that throws, etc.)

> I also saw a suggestion about C++'s epoch proposal on another thread 
> that was interesting.
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1881r0.html

Thanks!


More information about the Digitalmars-d mailing list