--- On Tue, 10/26/10, "Martin v. Löwis" <mar...@v.loewis.de> wrote: >>> I think this then mandates a PEP; I'm -1 on the feature also. >> >> I am happy to write up a PEP for this feature. I'll start that >> process now, though if anyone feels that this idea has no chance of >> acceptance please let me know. > > If it could actually work in a reasonable way, I would be +0. If, > as I think, it can't possibly work correctly, I'll be -1. > > In this evaluation, I compare this to Smalltalk's > Object>>#become: > What you propose should have a similar effect, IMO, although > it's probably not necessary to provide the two-way nature > of become.
Thanks, I didn't know about Object>>#become until now but it is a perfect comparison. The two-way nature of become appears to be due to the implementation detail of swapping two entries in a table, but the current spec for gc.remap can achieve the same effect with: >>> gc.remap({a:b, b:a}) Of course #become and gc.remap also share the same power and danger. I'm retracting the patch in 10194 and will submit a new one later as part of the PEP that uses a parallel traverse mechanism. Still, if you are concerned that this approach cannot work I encourage you to try out the patch associated with 10194 by playing around with gc.remap in the interpreter or looking at the unit tests. I was surprised when I made the change initially by how little code was required and by how well it seemed to work in practice. Thanks, Peter _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com