[pypy-dev] RPython unicode support design question
Armin Rigo
arigo at tunes.org
Tue Nov 6 14:23:31 CET 2007
Hi Carl,
On Tue, Nov 06, 2007 at 01:07:29PM +0100, Carl Friedrich Bolz wrote:
> My proposal is the following: forbid _all_ mixing of strings and unicode
> in RPython.
Right now we allow mixing plain and unicode characters, at least in the
annotator. There is at least one use case for this: you can write in a
uniform way some code that gets two specialized versions, one for string
and one for unicode. I use this e.g. in objspace.std.formatting, where
two versions of the formatter build a list called 'result' in both
cases, but which is either a list of chars or a list of unichars. It's
full of code like
result += '0' * padding
which works in both cases because the character is turned into a unichar
if necessary - that is, if 'result' is already known to be a list of
unichars.
So while I see the motivation for forbidding implicit conversion, I also
think that there are good use cases where it makes sense to have it - at
least for single characters. I guess that, as usual, the "RPython way"
is to forbid implicit conversions from full strings to full unicode
strings, until the day where we have a good use case for it :-)
Armin
More information about the Pypy-dev
mailing list