(original) (raw)



On Fri, Dec 29, 2017 at 7:02 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:
On 28 December 2017 at 04:22, Ethan Smith <ethan@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
'arg\_index=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@gmail.com | Brisbane, Australia