Guido van Rossum wrote:
[...] Walter suggested 'global.x = 23' which looks reasonable; unfortunately my parser can't do this without removing the existing global statement from the Grammar: after seeing the token 'global' it must be able to make a decision about whether to expand this to a global statement or an assignment without peeking ahead, and that's impossible.
Another idea: We could replace the function globals() with an object that provides __call__ for backwards compatibility, but also has a special __setattr__. Then global assignment would be 'globals.x = 23'. Would this be possible?
Bye, Walter Dörwald