[Python-Dev] PEP 318 (was re: redefining is)

Josiah Carlson jcarlson at uci.edu
Wed Mar 24 18:37:19 EST 2004


> > You were there and helped point out some of the limitations of the
> > original code I posted, which now has a _straightforward_ recursive
> > implementation here:
> > http://mail.python.org/pipermail/python-dev/2004-March/043357.html
> 
> Heh, another use for the class variant of PEP 318.  Josiah's code 
> depends on knowing which classes have immutable instances, using a 
> hardcoded set of builtin types.  With PEP318, one could do
> 
> class foo [immutable]:
>     ...
> 
> with an appropriate definition of immutable that either decorates the 
> class object or adds to the set of known immutables.  Perhaps also with 
> code to catch and warn against obvious attempts at mutation of foos...

One could even include the disclaimer that any code that modifies an
instance that is supposed to be immutable, is inherantly broken and is
not supported.  Of course the testing before and after method calls and
attribute access would be difficult, if not impossible with current
Python.

 - Josiah




More information about the Python-Dev mailing list