[Python-3000] PEP 3131 roundup

Talin talin at acm.org
Tue Jun 5 04:45:51 CEST 2007


Ka-Ping Yee wrote:
> Hi,
> 
> Here's a summary of some of the remaining open issues and unaddressed
> arguments regarding PEP 3131.  These are the ones I'm familiar with,
> so I don't claim this to be complete.  I hope it helps give some
> perspective on this huge thread, though.

Thanks so much for this excellent roundup from the RoundUp Master :)

Seriously, I've been staying well away from the PEP 3131 threads, and I 
was hoping that someone would post a summary of the issues so I could 
catch up.

I'd like to make a couple of modest proposals on the PEP 3131 issue that 
I'm hoping will short-circuit some parts of this discussion.

1) My first proposal is that someone - one of the PEP 3131 advocates 
probably - create a set of patches, or possibly a branch, that 
implements unicode identifiers in whatever manner they think is 
appropriate. Write some actual code instead of just talking about it.

This fork will consist of a Python interpreter with a different name - 
lets call it 'upython' for 'unicode python'.

These same PEP 3131 advocates should also distribute precompiled 
packages containing the upython interpreter. For simplicity, it is OK to 
assume that regular Python is already installed as a prerequisite.

The 'upython' interpreter can live in the same binary directory as 
regular python. The students who want to learn Python with Japanese 
identifiers can easily be taught to run 'upython' instead of 'python'. 
Since upython runs regular python scripts, they still have access to all 
of the regular python libraries and extension modules.

Once upython becomes available to the public, it will be the goal of the 
3131 advocates to get widespread adoption of upython. If there is much 
adoption, then that makes a strong argument for merging those features 
into regular python. On the other hand, if there is little adoption, 
then that's an argument to either maintain it as a fork, or drop it 
altogether.

In other words - instead of endless discussions of hypotheticals, let 
people vote with their feet. Because I can already tell that as far as 
this mailing list goes, there will never be a consensus on this issue, 
due to basic value differences.

2) My second proposal is to drop all discussions of bidirectional 
support, since I think it's a red herring. So far, I haven't heard 
anyone whose native language is RTL lobbying for support of their 
language. Most of the vocal proponents of 3131 have been mainly 
concerned with asian languages. The people who are mainly bringing up 
the issue of Bidi are the people arguing against 3131, using it as the 
basis of an "excluded middle" argument that says that since its too 
difficult to do Bidi properly, then it's too difficult to do unicode 
identifiers.

Yes, it may be technically "unfair" to certain ethnic groups to not 
support Bidi, but frankly, I don't see why the python-dev community has 
to solve all of the world's problems in one go.

I would even go so far as to say that its OK to drop support for any 
languages that are "hard to do".

(Note that I've done a fair bit of work supporting Bidi in my previous 
job, so I at least have a passing familiarity with the issues involved.)

-- Talin


More information about the Python-3000 mailing list