This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author daniel.urban
Recipients daniel.urban
Date 2010-05-12.15:00:43
SpamBayes Score 1.0148142e-08
Marked as misclassified No
Message-id <1273676448.87.0.841686829268.issue8699@psf.upfronthosting.co.za>
In-reply-to
Content
On python-dev came up an idea [1] to support equality (== and !=) and hashing by functools.partial instances.  Van Lindberg provided an implementation written in Python [2].  I've made a very similar implementation in C (in Modules/_functoolsmodule.c).  The Python equivalent of my code is in Lib/test/test_functools.py as the PythonPartialCls class.  The hashing differs a little from Van Lindberg's implementation: I'm computing the "normal form" of the dict as the sorted list of its items (not as the sorted list of the keys followed by the items).  (It was easier to implement this way.)

I haven't made a lot of Python programming in C, so I'm not sure I made everything in the right way (especially the reference counting).  Anyway, I'm attaching my patch.  I'd appreciate every suggestion, and will try to correct my mistakes.
Thanks!

[1] http://mail.python.org/pipermail/python-dev/2010-May/099981.html
[2] http://mail.python.org/pipermail/python-dev/2010-May/099996.html
History
Date User Action Args
2010-05-12 15:00:50daniel.urbansetrecipients: + daniel.urban
2010-05-12 15:00:48daniel.urbansetmessageid: <1273676448.87.0.841686829268.issue8699@psf.upfronthosting.co.za>
2010-05-12 15:00:47daniel.urbanlinkissue8699 messages
2010-05-12 15:00:46daniel.urbancreate