[Python-Dev] Lockstep iteration - eureka! (original) (raw)

Thomas Wouters thomas@xs4all.net
Wed, 9 Aug 2000 20:28:54 +0200


On Wed, Aug 09, 2000 at 11:40:27AM -0500, Skip Montanaro wrote:

>> Disadvantages:

>> It will break that one person's code that uses "indexing" as a >> variable name.

Thomas> This needn't be true, if it's done in the same way as Tim Thomas> proposed the 'form from import as as as' syntax change ;)

Could this be extended to many/most/all current instances of keywords in Python? As Tim pointed out, Fortran has no keywords. It annoys me that I (for example) can't define a method named "print".

No. I just (in the trainride from work to home ;) wrote a patch that adds 'from x import y as z' and 'import foo as fee', and came to the conclusion that we can't make 'from' a non-reserved word, for instance. Because if we change

'from' dotted_name 'import' NAME*

into

NAME dotted_name 'import' NAME*

the parser won't know how to parse other expressions that start with NAME, like 'NAME = expr' or 'NAME is expr'. I know this because I tried it and it didn't work :-) So we can probably make most names that are part of a statement non-reserved words, but not those that uniquely identify a statement. That doesn't leave much words, except perhaps for the 'in' in 'for' -- but 'in' is already a reserved word for other purposes ;)

As for the patch that adds 'as' (as a non-reserved word) to both imports, I'll upload it to SF after I rewrite it a bit ;)

-- Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!