Guido rethinking removal of cmp from sort method

Terry Reedy tjreedy at udel.edu
Fri Apr 1 20:57:48 CEST 2011


On 4/1/2011 3:45 AM, Paul Rubin wrote:

> What happens then is you define a new interface.

Like key= versus cmp=

>  In Microsoft-speak if
> the IWhatever interface needs an incompatible extension like new
> parameters, they introduce IWhatever2 which supports the new parameters.
> They change the implementation of IWhatever so it becomes a wrapper for
> IWhatever2 setting the new parameters to default values, to keep
> implementing the old behavior.

If cmp had been left (or were reinstated) but its implementation changed 
internally to use cmp_to_key to make it a wrapper for key, you would be 
happy? 2to3 could probably gain a fixer to change

.sort(cmp=f) # to

import functools import cmp_to_key
.sort(key=functools.cmp_to_key(f))

I know some would not like this because interface change is not their 
real concern.

-- 
Terry Jan Reedy




More information about the Python-list mailing list