Greg Ewing wrote: > Boris Borcic wrote: > >> I believe that in this case native linguistic intuition made the decision... > > The reason has nothing to do with language. Guido didn't > want sum() to become an attractive nuisance by *appearing* > to be an obvious way of joining a list of strings, while > actually being a very inefficient way of doing that.
sum() *is* exactly an attractive nuisance by *appearing* to be an obvious way of chaining strings in a list (without actually being one). > Considerable effort was put into trying to make sum() > smart enough to detect when you were using it on a > list of strings and do "".join behind the scenes, but > Guido decided in the end that it wasn't worth the > trouble, given that he only ever intended sum() to > be used on numbers in the first place. That's not quite conform to the record. According to py-dev archives it happened on April 2003 with a thread "Fwd: summing a bunch of numbers (or "whatevers")" initiated by Alex Martelli where he actually proposed a working implementation of sum() in C, that did short-circuit the case of strings to ''.join. That was Sat 19th of April. Debate ensued, and by late Sunday 20th around 11PM;, the honorable author of the Zen of Python had killed that use case for sum() with "sum(sequence_of_strings) hurts my brain". (Hello Tim, so what about < sqrt(':(') > ?) Guido's first intervention in the thread was the next morning, and the two very first lines of his intervention where : "OK, let me summarize and pronounce. sum(sequence_of_strings) is out...." I admit that there is a step of arguable interpretation from these recorded facts to my diagnostic, but the latter is compatible with the facts. Your version otoh looks more robust in the role of eg creation myth. Best Regards, Boris Borcic -- "assert 304 in 340343, P424D15E_M15M47CH" _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com