On 3/10/06, Neil Schemenauer email@example.com wrote:
Guido van Rossum firstname.lastname@example.org wrote:
Not even True and False.
I don't see why everything that doesn't make sense to be shadowed ought to become a keyword. That way lies madness.
Have you considered whether P3K will disallow names from being shadowed in such as way as to prevent the compiler from determining the namespace to look for a given name? I seen nothing in PEP 3000 related to this issue.
Yes, that's one of my goals. PEP 280 (clumsily) expresses some of the ideas.
Currently, my main idea is to allow the compiler to assume that if a known built-in is used in a module, and inspection of the source code for that module reveals no assignment to a global with the same name, the built-in can be assumed to have the standard semantics, and may be hardcoded in any way the compiler seems fit (for example, an opcode that computes len() would be fair game). Exceptions would be made for 'open' and '__import__' (since these are commonly hacked).
-- --Guido van Rossum (home page: http://www.python.org/~guido/)