It seems that the distinction between tuples and lists has slowly been fading away. What we call "tuple unpacking" works fine with lists on either side of the assignment, and iterators on the values side. IIRC, "apply" used to require that the second argument be a tuple; it now accepts sequences, and has been depreciated in favor of *args, which accepts not only sequences but iterators.
Is there any place in the language that still requires tuples instead of sequences, except for use as dictionary keys? If not, then it's not clear that tuples as a distinct data type still serves a purpose in the language. In which case, I think it's appropriate to consider doing away with tuples. Well, not really: just changing their intended use, changing the name to note that, and tweaking the implementation to conform to this. The new intended use is as an immutable sequence type, not a "lightweight C struct". The new name to denote this new use - following in the footsteps of the set type - is "frozenlist". The changes to the implementation would be adding any non-mutating methods of list to tuple, which appears to mean "index" and "count". Removing the tuple type is clearly a Py3K action. Adding frozenlist could be done now. Whehter or not we could make tuple an alias for frozenlist before Py3K is an interesting question. <mike -- Mike Meyer <[EMAIL PROTECTED]> http://www.mired.org/home/mwm/ Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information. -- http://mail.python.org/mailman/listinfo/python-list