> your argument about difference between global vs. local vs. upvalue was bad, ignoring very important difference in extent of the scope.
Per my proposal, when globals are declared explicitly, they are declared in the same chunk with locals and upvalues. The complication that you wrote about with globals defined in other (third party) files no longer applies (not accidentally, because dealing with the complication is one of the objectives). Therefore, seeing what is global, local, or an upvalue, and what eclipses what, becomes similar in complexity, and I do not think that globals need a further syntactical feature to make them stand out.
I have also said that it would then be entirely in my power to make them stand out, if I really want that.
Finally, the syntactical difference proposed by Egor is so incompatible with existing code that I think this is a non-starter just for that reason alone. If there is any hope for an improvement in this area, it must be fully compatible with existing code [1]. This is why I proposed a fully compatible extension.
Cheers,
V.
Subject: Re: Globals (more ruminations)
From: Roberto Ierusalimschy <roberto@...>
Date: Sun, 18 Jul 2010 11:20:42 -0300
Sure compatibility is very important, but the rule is not only for
compatibility. Most small/simple scripts do not need this extra
complication (think about config files or interactive sessions).
-- Roberto