On Wednesday, 7 March 2018 at 13:24:25 UTC, Jonathan M Davis wrote:
On Wednesday, March 07, 2018 12:53:16 Guillaume Piolat via Digitalmars-d wrote:
On Wednesday, 7 March 2018 at 06:00:30 UTC, Taylor Hillegeist

wrote:
> That way the breaking change was easily fixable, and the > mistakes of the past not forever. Is it just the cost of > maintenance?

auto-decoding problem was mostly that it couldn't be @nogc since throwing, but with further releases exception throwing will get @nogc. So it's getting fixed.

I'd actually argue that that's the lesser of the problems with auto-decoding. The big problem is that it's auto-decoding. Code points are almost always the wrong level to be operating at. The programmer needs to be in control of whether the code is operating on code units, code points, or graphemes, and because of auto-decoding, we have to constantly avoid using the range primitives for arrays on strings. Tons of range-based code has to special case for strings in order to work around auto-decoding. We're constantly fighting our own API in order to process strings sanely and efficiently.

I'd agree with you, hate the special casing. However it seems to me this has been debated to death already, and that auto-decoding was successfully advocated by Alexandrescu and al; surviving the controversy years ago.

Reply via email to