The future of Python immutability

John Nagle nagle at
Fri Sep 4 06:20:55 CEST 2009

Gabriel Genellina wrote:
> En Thu, 03 Sep 2009 15:03:13 -0300, John Nagle <nagle at> 
> escribió:
>>      Python's concept of immutability is useful, but it could be more
>> general.
>>      Immutability is interesting for threaded programs, because
>> immutable objects can be shared without risk.  Consider a programming
>> model where objects shared between threads must be either immutable or
>> "synchronized" in the sense that Java uses the term.  Such programs
>> are free of most race conditions, without much programmer effort to
>> make them so.
> In the current CPython implementation, every object has a reference 
> count, even immutable ones. This must be a writable field - and here you 
> have your race condition, even for immutable objects.

    That's an implementation problem with CPython.  I'm looking at this as
a language design issue.  Shed Skin, which is garbage-collected, doesn't
have that problem.  Look ahead to a new generation of Python implementations
that go fast and use multiprocessors effectively.

					John Nagle

More information about the Python-list mailing list