Clojure and Pull Request Controversy

jmh530 john.michael.hall at gmail.com
Thu Nov 29 16:47:00 UTC 2018


On Thursday, 29 November 2018 at 14:11:30 UTC, Nicholas Wilson 
wrote:
> [snip]
>
> I think deprecating the auto decoding free functions with a 
> message to use `.byChar`, `.byDchar`,`.representation` etc. is 
> really the _only_ practical way forward on this. Yes its slow 
> but it won't cause any breakage. Certainly not silent breakage, 
> deprecation being rather noisy.

Whatever is decided, just have a clear process that minimizes 
problems and can be communicated to D programmers of all levels.

IMO, a good first step would be versioning autodecoding, so that 
autodecoding or non-autodecoding can be decided at the command 
line. Then make it so that the autodecoding free functions are 
only called when the autodecoding version is used. This is 
something that can be done without breaking any code if the 
version is set to autodecoding. Of course, setting the version to 
nonautodecoding means that anywhere you pass a string to one of 
those range functions should fail at compile-time (an improved 
error message could be added to point users to byChar/etc). Next, 
some unlucky soul can go through phobos and ensure that tests 
pass regardless what version is used, preferably with the help of 
some kind of automatic tool. I think then D could switch the 
default from autodecoding to non-autodecoding. And then deprecate 
autodecoding if necessary.


More information about the Digitalmars-d mailing list