[Python-Dev] new draft of PEP 227

Greg Ewing greg@cosc.canterbury.ac.nz
Fri, 15 Dec 2000 12:58:24 +1300 (NZDT)


Paul Prescod <paulp@ActiveState.com>:

> We could say that a local can only shadow a global 
> if the local is formally declared.

How do you intend to enforce that? Seems like it would
require a test on every assignment to a local, to make
sure nobody has snuck in a new global since the function
was compiled.

> Actually, one could argue that there is no good reason to 
> even *allow* the shadowing of globals.

If shadowing were completely disallowed, it would make it
impossible to write a completely self-contained function
whose source could be moved from one environment to another
without danger of it breaking. I wouldn't like the language
to have a characteristic like that.

Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury,	   | A citizen of NewZealandCorp, a	  |
Christchurch, New Zealand	   | wholly-owned subsidiary of USA Inc.  |
greg@cosc.canterbury.ac.nz	   +--------------------------------------+