[Python-ideas] Changing semantics of for-loop variable
Terry Reedy
tjreedy at udel.edu
Fri Sep 30 07:06:31 CEST 2011
On 9/29/2011 5:31 PM, Greg Ewing wrote:
> Guido has asked me to start a new thread for discussing
> this idea.
>
> To recap, instead of trying to come up with some new
> sugar to make the default-argument hack taste slightly
> less bitter, I suggest making a small change to the
> semantics of for-loops:
>
> If the loop variable is referenced from an inner scope,
> instead of replacing the contents of its cell, create
> a *new* cell on each iteration.
Since loop variables do not normally have cells, I really do not
understand from this what you are proposing. What I do understand is
that you would have the content of the body of a loop change the
behavior of the loop. This is a radical change with what to me is little
practical justification and not a 'small change'.
I have used about 20 languages and in all of them, a 'variable' refers
to a specific memory block or or name. You must have a very different
background to think that doing something else is normal.
> Code following the loop would then continue to see the
> last value bound to the loop variable, as now, but
> inner functions would capture different versions of
> it.
>
--
Terry Jan Reedy
More information about the Python-ideas
mailing list