[Python-Dev] Lexical scoping in Python 3k
jcarlson at uci.edu
Sat Jul 1 11:01:12 CEST 2006
Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> Josiah Carlson wrote:
> > What I asked before, and what I'd like to ask again, is if there are any
> > _nontrivial uses_ of lexically nested scopes which are made cumbersome
> > by our inability to write to parent scopes.
> The trouble with taking that position is that the very
> cases which would benefit are very *simple* ones, where
> it would be cumbersome to refactor it to use a class,
> or mutable object in the outer scope, etc. So you've
> effectively set up your acceptance criteria to be
If the only code that benefits from such changes are "very *simple*",
then I think that says something about its necessity. That is, if
anything more complicated than those that are "very *simple*" generally
don't benefit, then I don't believe that such a modification would be
beneficial to the language overall. Further, a simple namespace factory
can handle much of the current issues, without needing to create or
__slots__ = kwds.keys()
for i,j in kwds.iteritems():
ns = namespace(current=start-1)
ns.current += 1
Maybe a variant of the above namespace factory should make it into the
> > If there aren't, then I'm
> > going to again have to argue against new syntax, keywords, and their use.
> There's one very simple way we could do this in Py3k
> without requiring any new syntax or keywords: just
> redefine the meaning of "global" to mean "not local".
I would probably be a solid -0 on such a proposal; I still don't think
it's really necessary, but I've never used (or really seen) global more
than one level deep, so would guess its impact would be low.
More information about the Python-Dev