
On Thu, Sep 29, 2011 at 5:24 PM, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
Nick Coghlan wrote:
As Guido noted, default argument *names* refer to ordinary locals, and hence exhibit the same rebinding behaviour as pre-nonlocal closure references (i.e. reassignments don't persist across calls, only mutations do). Since we expressly *don't* want that behaviour,
Are you sure we don't? The ability to persistently re-assign the name is not needed to address the main use cases under consideration, as I understand them to be. In fact, disallowing assignment to the name at all would be fine by me. Hence I would be +0 on using 'const' as the keyword.
What do you think the main use cases are? If you can't rebind, it obviously doesn't solve the Counter case. As best I can tell, const only works for speed hacks. And there are other ways to solve that, if you're willing to use a different VM, like pypy does. -jJ