[Python-Dev] PEP 329: Treating Builtins as Constants
inthe Standard Library
Phillip J. Eby
pje at telecommunity.com
Tue Apr 20 12:01:04 EDT 2004
At 11:33 AM 4/20/04 -0400, Andrew Koenig wrote:
> > You could, of course, create a statement like "const len" to flag that
> > len will NOT be changed, thus creating true backwards compatibility,
>
>Somehow this idea is getting tangled in my mind with the distinction between
>mutable and immutable objects. When you use an object as a dict key, it
>must not change, in order to allow the optimization that keys can be sought
>through hashing rather than by sequential search. Similarly, making a name
>such as True immutable allows the optimization that "while True:" can be
>determined during compilation to be unconditional.
>
>I understand that there is a difference between the kinds of immutability,
>but still there seems to be a strong connection here.
I think it's a bad idea to confuse a read-only name binding, and the
concept of an immutable object. They aren't the same thing, although the
former can be implemented by a namespace that is the latter.
More information about the Python-Dev
mailing list