Clojure and Pull Request Controversy

Jon Degenhardt jond at noreply.com
Fri Nov 30 01:49:38 UTC 2018


On Thursday, 29 November 2018 at 11:11:19 UTC, Walter Bright 
wrote:
> I'd remove autodecode tomorrow if I could wave the magic wand. 
> The problem, though, as I point out to you again, is removing 
> it will silently break a great deal of code.
>
> You cannot have it be a deal-breaker both ways.
>
> I'll also emphasize that you can avoid autodecode in your own 
> projects by using .byChar. You are not forced to suffer its 
> depredations in your own code.

A number of people in the D community have made the argument to 
me that autodecoding difficulties have been largely mitigated by 
the availability of byChar and byCodeUnit.

My assessment is different. These are valuable primitives. I 
think they suffice if developing small applications, or 
applications which need high performance string handling only in 
limited parts of the code. But I don't think they are sufficient 
if building larger applications that generally need high 
performance string handling throughout.

Part my viewpoint is from the perspective of development in team 
environments. Litmus test questions are things like "how much 
time will be spent in code review checking if autodecoding has 
been engaged/avoided correctly?"

A specific issue with the byChar/byCodeUnit approach is that the 
disabling of autodecoding gets dropped in common cases, for 
example, materializing the range as an array. (An aside, but I 
have wondered if having a character array type that 
obeyed/preserved the no-autodecode property would be a material 
help.)

I'm not trying to suggest how to weigh and tradeoff backward 
compatibility vs improvements to or elimination of autodecoding. 
Just trying to shed some light on why some people may have a 
different assessment of the significance of autodecoding issues.

--Jon


More information about the Digitalmars-d mailing list