I'm new to the forum and to Nim, so let me first say hi everyone, and thanks for developing this nice, interesting language!
One of the things that attracts me to Nim (as a python2 holdout) is the support for byte strings as first class citizens (the lack of which make me hesitant to use python 3). But, I noticed that strutils.toLower (and friends) where recently deprecated, with preference given to the rather unweildly toLowerAscii, to avoid name clashes with the unicode module.
What was the reasoning behind this deprecation? Will toLower eventually disappear? The name clashes can already be worked around with either name space qualification or blacklisting so why was this needed? I feel that it would be unfortunate if Nim would move in the direction of python3 on the unicode question.
Eh, my biggest complaint about strings is (and probably always will be) their copy-on-assignment behavior. At least UTF8 handling can be implemented fairly transparently through subtyping.
(Yes, I'm aware that changing current string assignment behavior would break things)
What was the reasoning behind this deprecation?
It's crucial today to emphasize toUpper is not Unicode aware.
Will toLower eventually disappear?
The one in strutils, not the one in unicode.
The name clashes can already be worked around with either name space qualification or blacklisting so why was this needed?
You're right it wasn't needed, but we felt a little more explicitness wouldn't hurt here.
I feel that it would be unfortunate if Nim would move in the direction of python3 on the unicode question.
I totally agree. Unicode in C# and Python is really quite painful IME.