Chris Angelico <ros...@gmail.com> writes: > On Sun, Jul 1, 2012 at 10:08 AM, Ben Finney <ben+pyt...@benfinney.id.au> > wrote: > > Thomas Jollans <t...@jollybox.de> writes: > > > >> My sole point, really, is that "normally", one would expect these two > >> expressions to be equivalent: > >> > >> a < b < c > >> (a < b) < c > > > > What norm gives you that expectation? That's not how those operators > > work in mathematical notation. I know of no programming language > > that would give a newcomer to Python that expectation. So where is > > the norm you're referring to? > > C, SQL, REXX, and many other languages.
So, languages without strong typing then. In that case, I revise my statement: I know of no programming language with strong typing that would give a newcomer to Python the above expectation. Since Python does have strong typing, norms about operations from weakly-typed languages should not be expected to apply. (Incidentally, PostgreSQL was the SQL implementation I went to, and:: postgres=# SELECT (1 < 2) < 3; ERROR: operator does not exist: boolean < integer LINE 1: SELECT (1 < 2) < 3; ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. So not all SQL implementations make the mistake of weak typing.) -- \ “Try adding “as long as you don't breach the terms of service – | `\ according to our sole judgement” to the end of any cloud | _o__) computing pitch.” —Simon Phipps, 2010-12-11 | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list