[Python-ideas] allow `lambda' to be spelled λ

Rustom Mody rustompmody at gmail.com
Tue Jul 19 08:05:11 EDT 2016

On Tuesday, July 19, 2016 at 5:06:17 PM UTC+5:30, Neil Girdhar wrote:
> On Tue, Jul 19, 2016 at 7:21 AM Steven D'Aprano wrote:
>> On Mon, Jul 18, 2016 at 10:29:34PM -0700, Rustom Mody wrote:
>> > IOW
>> > 1. The lexer is internally (evidently from the error message) so
>> > ASCII-oriented that any “unicode-junk” just defaults out to identifiers
>> > (presumably comments are dealt with earlier) and then if that lexing 
>> action
>> > fails it mistakenly pinpoints a wrong *identifier* rather than just an
>> > impermissible character like python 2
>> You seem to be jumping to a rather large conclusion here. Even if you
>> are right that the lexer considers all otherwise-unexpected characters
>> to be part of an identifier, why is that a problem?
> It's a problem because those characters could never be part of an 
> identifier.  So it seems like a bug.

An armchair-design solution would say: We should give the most appropriate 
answer for every possible unicode character category
This would need to take all the Unicode character-categories and Python 
lexical-categories and 'cross-product' them — a humongous task to little 

A more practical solution would be to take the best of the python2 and 
python3 current approaches:
"Invalid character XX  in line YY"
and just reveal nothing about what lexical category — like identifier — 
python thinks the  char is coming in.

The XX is like python2 and the YY like python3
If it can do better than '\xe2' — ie a codepoint — that’s a bonus but not 
strictly necessary

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160719/3a2f2041/attachment-0001.html>

More information about the Python-ideas mailing list