[Python-Dev] new draft of PEP 227

Paul Prescod paulp@ActiveState.com
Fri, 15 Dec 2000 08:16:37 -0800


Guido van Rossum wrote:
> 
> ...
> 
> Can we cut this out please?  Paul is misguided.  There's no reason to
> forbid a local shadowing a global.  All languages with nested scopes
> allow this.

Python is the only one I know of that implicitly shadows without
requiring some form of declaration. JavaScript has it right: reading and
writing of globals are symmetrical. In the rare case that you explicitly
want to shadow, you need a declaration. Python's rule is confusing,
implicit and error causing. In my opinion, of course. If you are
dead-set against explicit declarations then I would say that disallowing
the ambiguous construct is better than silently treating it as a
declaration.

 Paul Prescod