
[Samuele]
. suggests runtime, for compile time then maybe
Right, that's what I don't like about it.
global::x=42 module::x=42
outer::x=42
(I don't like those, and personally I don't see the need to get rebinding for closed-over variables but anyway)
I don't like these either.
another possibility is that today <name> <name> is a syntax error, so maybe
global x = 42 or module x = 42
they would not be statements, this for symmetry would also be legal:
y = module x + 1
then
outer x = 42
and also
y = g x + 1
the problems are also clear, in some other languages x y is function application, etc..
Juxtaposition of names opens a whole lot of cans of worms -- for one, it makes many more typos pass the parser. --Guido van Rossum (home page: http://www.python.org/~guido/)