[Python-Dev] Supporting functools.singledispatch with classes. (original) (raw)

Ethan Smith ethan at ethanhs.me
Fri Dec 29 13:55:01 EST 2017


On Fri, Dec 29, 2017 at 7:02 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:

On 28 December 2017 at 04:22, Ethan Smith <ethan at ethanhs.me> wrote: > Okay, if there is no further feedback, I will work on a singledispatchmethod > decorator like partialmethod. > > For the future perhaps, would it not be possible to tell that the passed > argument is a descriptor/function and dispatch to the correct > implementation, thus not needing two functions for essentially the same > thing? > > It seems more straightforward to make the implementation a bit more complex > to provide a single, simple API to users.

"Add 'method' to the decorator name when decorating a method" is a pretty simple rule to remember - it's much easier than "Add 'argindex=1'" (which is a comparatively arbitrary adjustment that requires a fairly in depth understanding of both the descriptor protocol and type-based function dispatch to follow). And you need the change to be explicitly opt-in somehow, in order to avoid breaking any existing code that relies on methods decorated with "singledispatch" dispatching on the bound class.

Good points. I will start working on the singledispatchmethod implementation.

~>Ethan Smith

Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171229/77ca04c5/attachment.html>



More information about the Python-Dev mailing list