[Python-Dev] Explicit Lexical Scoping (pre-PEP?) (original) (raw)

Terry Reedy tjreedy at udel.edu
Tue Jul 11 23:23:51 CEST 2006


"Boris Borcic" <bborcic at gmail.com> wrote in message news:e90j6o$fij$1 at sea.gmane.org...

I agree with you (and argued it in "scopes vs augmented assignment vs sets" recently) that mutating would be sufficient /if/ the compiler would view augmented assignment as mutations operators :

Mutation is an operation on objects. Binding is an operation on namespaces. The difference between objects and namespaces (and the actions thereupon) is fundamental to Python. Asking the interpreter to view one thing as something else which it isn't can only lead to more confusion. In particular, asking that arithmetic operations on immutable numbers be seen as mutations seems wacky to me.

which it doesn't as far as concerns scopes where a variable appears as target only of /augmented/ assignments.

The interpreter/compiler, as far as I can think, never views binding as mutation, nor should it. The request that it do so makes me wonder whether it might have been a mistake to allow mutable objects in an augmented assignment to choose to implement the associated operation as an in-place mutation.

Terry Jan Reedy



More information about the Python-Dev mailing list