On Thu, 28 Feb 2008 10:39:51 -0000 "Steven D'Aprano" <[EMAIL PROTECTED]> wrote: > On Thu, 28 Feb 2008 00:30:11 -0800, Dennis Lee Bieber wrote: > > Automatic conversions, okay... but converting a result when all > > inputs are of one time, NO... > > What? How does that make any sense? > > By that logic, we should see this: > > >>> len("a string") > '8' > >>> len([2, 4, 6]) > [3] > >>> len({'key': 'value'}) > {1: None}
I think that you have to show your work here. How does the above statement about operators imply that the len method should return the type of its argument? > > The only rule needed is very simple: promote simpler types to the > > more complex type involved in the current expression (with expression > > defined as "value operator value" -- so (1/2) * 3.0 is INTEGER 1/2, > > resultant 0 then promoted to float 0.0 to be compatible with 3.0). > > > > Very simple rule, used by very many traditional programming > > languages. > > And rightly rejected by many other programming languages, including > modern Python, not to mention calculators, real mathematics and common > sense. Lost me again. I was not aware that calculators, real mathematics and common sense were programming languages. Check out the definition in http://en.wikipedia.org/wiki/Programming_language and others if you are unclear. PLs are designed to communicate with machines. Even a calculator is an application, not a language. This is an important difference. -- D'Arcy J.M. Cain <[EMAIL PROTECTED]> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner. -- http://mail.python.org/mailman/listinfo/python-list