[Python-Dev] [IronPython] Exception for setting attributes of built-in type (original) (raw)

Guido van Rossum guido at python.org
Mon Jun 15 19:10:59 CEST 2009


On Mon, Jun 15, 2009 at 9:10 AM, Michael Foord<fuzzyman at voidspace.org.uk> wrote:

Dino Viehland wrote:

Guido wrote:

I should add that this policy is also forced somewhat by the existence of the "multiple interpreters in one address space" feature, which is used e.g. by modpython. This feature attempts to provide isolation between interpreters to the point that each one can have a completely different set of modules loaded and can be working on a totally different application. The implementation of CPython shares built-in types between multiple interpreters (and it wouldn't be easy to change this); if you were able to modify a built-in type from one interpreter, all other interpreters would see that same modification.

IronPython is in the exact same boat here - we share built-in types Across multiple Python engines as well.

And indeed it is needed - if you are working with multiple interpreters (engines in IronPython) you don't want isinstance(something, dict) to fail because it is a dictionary from a different interpreter...

Ah, but that suggests you have sharing between different interpreters. If you're doing that, perhaps you shouldn't be using multiple interpreters, but instead multiple threads?

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list