At 06:14 AM 2/22/2006 -0500, Jeremy Hylton wrote: >On 2/22/06, Greg Ewing <[EMAIL PROTECTED]> wrote: > > Mark Russell wrote: > > > > > PEP 227 mentions using := as a rebinding operator, but rejects the > > > idea as it would encourage the use of closures. > > > > Well, anything that facilitates rebinding in outer scopes > > is going to encourage the use of closures, so I can't > > see that as being a reason to reject a particular means > > of rebinding. You either think such rebinding is a good > > idea or not -- and that seems to be a matter of highly > > individual taste. > >At the time PEP 227 was written, nested scopes were contentious. (I >recall one developer who said he'd be embarassed to tell his >co-workers he worked on Python if it had this feature :-).
Was this because of the implicit "inheritance" of variables from the enclosing scope? > Rebinding >was more contentious, so the feature was left out. I don't think any >particular syntax or spelling for rebinding was favored more or less. > > > On this particular idea, I tend to think it's too obscure > > as well. Python generally avoids attaching randomly-chosen > > semantics to punctuation, and I'd like to see it stay > > that way. > >I agree. Note that '.' for relative naming already exists (attribute access), and Python 2.5 is already introducing the use of a leading '.' (with no name before it) to mean "parent of the current namespace". So, using that approach to reference variables in outer scopes wouldn't be without precedents. IOW, I propose no new syntax for rebinding, but instead making variables' context explicit. This would also fix the issue where right now you have to inspect a function and its context to find out whether there's a closure and what's in it. The leading dots will be quite visible. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com