On Jul 1, 3:05 am, Thomas Jollans <t...@jollybox.de> wrote: > Yes. My sole point, really, is that "normally", one would expect these > two expressions to be equivalent: > > a < b < c > (a < b) < c > > This is clearly not true. That's the inconsistency here....
I dont see the inconsistency with the specific example as you've given. However if we consider the argument in general, there is something to be said for being (more) careful to distinguish associative and conjunctive interpretation of operators. IOW for an arbitrary operator * (not standard multiply): If * : t x t -> t, the only meaningful semantics of a*b*c is (a*b)*c or a*(b*c) If * : t x t -> Bool the only meaningful semantics of a*b*c is a*b + b*c where the most reasonable instance of '+' is 'and' What happens when t = Bool? Both cases match. And there is something to be said for notationally allowing for both cases Dijkstra/Scholten and David Gries books on logic in computer science expand on this. A short net-reachable paper is http://wwwhome.ewi.utwente.nl/~fokkinga/mmf2001a.pdf -- http://mail.python.org/mailman/listinfo/python-list