[Python-Dev] PEP 443 - Single-dispatch generic functions
Antoine Pitrou
solipsis at pitrou.net
Thu May 23 09:14:35 CEST 2013
More information about the Python-Dev mailing list
Thu May 23 09:14:35 CEST 2013
- Previous message: [Python-Dev] PEP 443 - Single-dispatch generic functions
- Next message: [Python-Dev] PEP 443 - Single-dispatch generic functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 23 May 2013 02:33:57 -0400 Devin Jeanpierre <jeanpierreda at gmail.com> wrote: > On Thu, May 23, 2013 at 2:04 AM, Antoine Pitrou <solipsis at pitrou.net> wrote: > > On Thu, 23 May 2013 12:12:26 +1000 > > Nick Coghlan <ncoghlan at gmail.com> wrote: > >> The binary operators can be more accurately said to use a complicated > >> single-dispatch dance rather than supporting native dual-dispatch. > > > > Not one based on the type of a single argument, though. > > Why not? > > I'd expect it to look something like this: > > @singledispatch > def ladd(left, right): > return NotImplemented > > @singledispatch > def radd(right, left): > return NotImplemented > > def add(left, right): > x = ladd(left, right) > if x is not NotImplemented: > return x > x = radd(right, left) > if x is not NotImplemented: > return x > raise TypeError > > Then instead of defining __add__ you define an overloaded > implementation of ladd, and instead of defining __radd__ you define an > overloaded implementation of radd. Well, I don't think you can say add() dispatches based on the type of a single argument. But that may be a question of how you like to think about decomposed problems. Regards Antoine.
- Previous message: [Python-Dev] PEP 443 - Single-dispatch generic functions
- Next message: [Python-Dev] PEP 443 - Single-dispatch generic functions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list