[Python-Dev] Alternative implementation of string interning

Oren Tirosh oren-py-d@hishome.net
Tue, 2 Jul 2002 20:55:07 +0300


On Tue, Jul 02, 2002 at 04:37:42PM +0200, Jack Jansen wrote:
> 
> On Tuesday, July 2, 2002, at 03:57 , Oren Tirosh wrote:
> >> Uhm... I'm confused: macimport stores a pointer to the object if it's
> >> interned (the object in question is one of the strings in sys.path). It
> >> didn't INCREF the object, and that wasn't needed up until now because
> >> interned objects can never go away. However, if they can go away I 
> >> would
> >> think that storing a pointer would definitely call for an INCREF...
> >
> > Are you saying that this code is not following reference counting rules
> > and got away with it only because interned strings are immortal?
> 
> I'm afraid so. Or, actually, "afraid so" sounds too apologetic:-): 
> interned
> strings were specifically defined to be immortal.

I know it says so in the doc, but I always tended to look at it as an 
implementation limitation rather than a feature...

	Oren