[Python-Dev] Inconsistent API for sets.Set and build-in set (original) (raw)
Barry Warsaw barry at python.org
Fri Jul 1 18:58:54 CEST 2005
- Previous message: [Python-Dev] Money module
- Next message: [Python-Dev] Terminology for PEP 343
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 2005-06-30 at 13:37, Raymond Hettinger wrote:
> If there are no objections, I propose to do the following (only in > Python 2.4 and 2.5): > > * Add set.unionupdate() as an alias for set.update().
No. It was intentional to drop the duplicate method with the hard-to-use name. There was some thought given to deprecating sets.unionupdate() but that would have just caused unnecessary grief.
Oh, okay. Did you run out of clever abbreviations after s/union_update/update/ or do you think that symmetric_difference_update is already easy enough to use? ;)
Why was "update" chosen when you have two other forms of longer *_update() methods on sets? This is after all, a union and it's arguably more confusing not to have that in the name (especially given the "easy-to-use" other *_update() methods).
> I consider this a bug in 2.4, not a new feature, because without it, it > makes more work in porting applications.
Bah. It's just one of the handful of search/replace steps: Set --> set ImmutableSet --> frozenset unionupdate --> update
But an unnecessary one, IMO.
> I'm willing to Just Fix It,
Please don't. All of the differences between set and Set were intentional improvements (i.e. the hash algorithm's are different).
I don't care about the implementation, I'm sure it's vastly superior. I'm concerned with the API. I don't agree that dropping union_update() is necessarily an improvement, but I guess I had my chance when the PEP was being debated, so I'll drop it.
I do think you owe it to users to describe the differences in PLR $2.3.7 to aid people in the transition process.
-Barry
-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 307 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-dev/attachments/20050701/bac40886/attachment.pgp
- Previous message: [Python-Dev] Money module
- Next message: [Python-Dev] Terminology for PEP 343
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]