no-autodecode -- game plan

H. S. Teoh hsteoh at
Wed Aug 19 15:39:58 UTC 2020

On Wed, Aug 19, 2020 at 09:35:34AM -0400, Andrei Alexandrescu via Digitalmars-d wrote:
> On 8/19/20 8:23 AM, Steven Schveighoffer wrote:
> > autodecoding infects so many other modules, so it would be really
> > hard to single out only some modules, we'd likely have to make a
> > copy of nearly everything.
> This is a very powerful argument AGAINST your current approach to
> CHANGE things. You are basically saying the semantics of the standard
> library will be deeply affected by your work. Put another way, the
> rework of the standard library will be very incompatible with its
> current version. So you are killing all compatibility.

Whoa, hold your guns there!  We're not actually changing semantics --
yet.  Steven's changes are controlled by version directives; even after
all changes have been made *current semantics remain unchanged*. Unless
you deliberately compile with the no-autodecoding version set. Which
users won't have to.

When we get to the point where the entire Phobos can be compiled with
no-autodecoding, *then* we can gauge the true extent of breakage (by
compiling public D repos with autodecoding on -- *experimentally*) to
obtain some REAL DATA on which to base decisions, instead of gut
feelings and other totally subjective criteria, and thereby be in a much
better position to make a sane decision about where to go from there.
If we absolutely do not want to break backward compatibility, then *at
that time* we can freeze the current std.*, make a copy of everything in
std.v2021, turn on no-autodecoding for the latter, and go from there.

Please let's not let the best be the enemy of the good yet again.
Autodecoding has been our scourge for how many years now, and now that
somebody's FINALLY making progress on it, please let's not gun it down



More information about the Digitalmars-d mailing list