[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