Proof of concept for v2 - NO duplication, NO `static if` hell, NO difficulty with interoperability
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.com
Mon Nov 1 13:32:05 UTC 2021
On 2021-11-01 6:48, Guillaume Piolat wrote:
> On Monday, 1 November 2021 at 08:45:07 UTC, Paolo Invernizzi wrote:
>> On Monday, 1 November 2021 at 00:59:49 UTC, Adam Ruppe wrote:
>>> On Monday, 1 November 2021 at 00:05:30 UTC, Andrei Alexandrescu wrote:
>>>> while we were wringing our hands about breaking the behavior for
>>>> like a dozen users.
>>>
>>> If you agree there are only like a dozen users, why not just make the
>>> changes and be done with it? Why worry about preserving v1 behavior
>>> at all? (Worth noting you can always just download an old version too.)
>>
>> +1
>
> +1
> Might be a few people, but I wouldn't mind Phobos just having breaking
> changes (and a changelog entry for each).
The whole "dozen users" has been a misunderstanding - there are users
whose code depends on every little thing, different for different
categories. It's not like any breakage no matter how large affects only
a few users.
"No more autodecoding" is more than a change worth a changelog entry.
Compounded with other changes it's just catastrophic. This is obvious
and we oughtn't debate it.
> 1. In reality we can special case with static if (__VERSION__)
Which has worked well for no language, ever. Pushing versioning hell on
users doesn't seem like a good way to go about things.
> 2. This is routine in the DUB universe, you can produce a new major tag
> with breaking changes, provide a changelog, and inside you can delete a
> dependency, add a dependency, rename, and it's quite good as users can
> depends on the earlier version. If anything, I think putting some of the
> stdlib as dub package (the barely used stuff) might help evolves the API
> and lessen the exposure (examples: std.uuid std.bigint std.getopt...).
I think the language's standard library is under different constraints
than others.
> 3. I bet most of the commercial users usually pin the D compiler version
> they use.
Of course. And they all love a migration path.
More information about the Digitalmars-d
mailing list