Proof of concept for v2 - NO duplication, NO `static if` hell, NO difficulty with interoperability
j at j.nl
Sun Oct 31 18:37:04 UTC 2021
On Sunday, 31 October 2021 at 17:32:07 UTC, Andrei Alexandrescu
> I'd say if we get rid of autodecoding that would be a solid
> release attainable in good time. It would also provide a model
> for all future evolution - v3, v4, ...
Are you not worried about increasing the knowledge required to
use and understand D? What I mean is: if the _standard_ library
is going to be versioned, users will have to remember the
differences between all versions of it.
I'm sorry to derail the topic of this thread, but rather than a
discussion of how to implement the versioning, I would like to
see a discussion first about what the user will see and how he is
supposed to use it. I think the implementation of it is the easy
Let's simply assume we have std.v2 without autodecoding, and
std.v3 with less GC and less exception throwing. What kind of
code would be 'hit' by this, and what would the new code look
like? Is the user expected to completely migrate to use std.v3,
or should he use a mix of std.v1, std.v2, std.v3? Will there be
autodecoding functions in v3? (perhaps with UTF postfix of
function name? Or is there no support and will the user have to
implement it himself?) What about the old versions of functions
that return GC'd data, or used to throw exceptions? Is the whole
of std.v1 going to be deprecated at some point?
I think it'd be nice if there are a number of code examples
worked out, showing what things are supposed to look like in a
world with versioned standard library.
More information about the Digitalmars-d