On 6/23/06, Alex Martelli <[EMAIL PROTECTED]> wrote: > On 6/22/06, Guido van Rossum <[EMAIL PROTECTED]> wrote: > > Independent from this, I wonder if we also need static names of the form > > > > static <name> = <expression> > > > > which would be similar to > > > > <name> = static (<expression>) > > > > but also prevents <name> from being assigned to elsewhere in the same scope. > > Lovely!!! Definitely +1. Could perhaps THIS use of static be allowed > even outside of a def? I'd just love to have such static names in > modules and classes, too (with runtime checks of errant assignments, > if needed).
It would provide no speed advantage, and I don't see how the staticness would be transferred upon import into another module. Runtime checks of errant assignments would be relatively easy: trap this in the module setattr operation, and henceforth let module.__dict__ return a read-only dict wrapper. (Except that would break "exec E in globals()". I guess it would have to be a dict wrapper that only makes those specific keys read-only...) -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com