Updating D beyond Unicode 2.0
Joakim
dlang at joakim.fea.st
Sat Sep 22 04:54:59 UTC 2018
On Friday, 21 September 2018 at 20:25:54 UTC, Walter Bright wrote:
> When I originally started with D, I thought non-ASCII
> identifiers with Unicode was a good idea. I've since slowly
> become less and less enthusiastic about it.
>
> First off, D source text simply must (and does) fully support
> Unicode in comments, characters, and string literals. That's
> not an issue.
>
> But identifiers? I haven't seen hardly any use of non-ascii
> identifiers in C, C++, or D. In fact, I've seen zero use of it
> outside of test cases. I don't see much point in expanding the
> support of it. If people use such identifiers, the result would
> most likely be annoyance rather than illumination when people
> who don't know that language have to work on the code.
>
> Extending it further will also cause problems for all the tools
> that work with D object code, like debuggers, disassemblers,
> linkers, filesystems, etc.
To wit, Windows linker error with Unicode symbol:
https://github.com/ldc-developers/ldc/pull/2850#issuecomment-422968161
> Absent a much more compelling rationale for it, I'd say no.
I'm torn. I completely agree with Adam and others that people
should be able to use any language they want. But the Unicode
spec is such a tire fire that I'm leery of extending support for
it.
Someone linked this Swift chapter on Unicode handling in an
earlier forum thread, read the section on emoji in particular:
https://oleb.net/blog/2017/11/swift-4-strings/
I was laughing out loud when reading about composing "family"
emojis with zero-width joiners. If you told me that was a tech
parody, I'd have believed it.
I believe Swift just punts their Unicode support to ICU, like
most any other project these days. That's a horrible sign, that
you've created a spec so grotesquely complicated that most
everybody relies on a single project to not have to deal with it.
More information about the Digitalmars-d
mailing list