On Wed, 29 Feb 2012 23:06:42 -0500, Shmuel (Seymour J.) Metz wrote: > In <ubo3r.20367$kv1.9...@newsfe03.iad>, on 02/29/2012 > at 11:43 AM, Chiron <chiron...@gmail.com> said: > >>Sure, mathematically it *should* go a particular way, > > No. Mathematically it should go the way that it is defined to go. There > is nothing in Mathematics that either requires or prohibits infix > notation in programming languages, or even in Mathematical notation. > Yes. That (the mathematically defined way) is a particular way, is it not?
>>it makes sense to keep things as clear as possible. > > Often infix notation with well thought out precedence is the clearest > way to go. RPN and the like have their place, but often are difficult > for real people to read. However, I wasn't specifically referring to infix/postfix/prefix or anything of that nature. I wasn't limiting my comment to lisp notation in particular, since what I said applies to any language. I was referring to the placement of parentheses (or other groupings) to indicate to *humans* what the intended sequence of events was. The problem with precedence is that it is not always clear how it will go. Different languages have different rules, some of which depart from the rules in mathematics. Some implementations of languages are buggy in this regard. Mathematically, and in any language with which I am familiar, the sequence: 2 + 6 / 3 will yield 4. It is unnecessary, but harmless, to write this as 2 + (6 / 3). A naive reader (or just a tired or hurried one) might come up with 8 / 3 if there aren't any parentheses. Whenever there is *any* possibility of ambiguity, I see no reason not to clarify. Back in the days when the way you wrote your code affected how it was compiled, it made sense to rely heavily on language-specific features, thus saving a few bytes. With gigabyte memories, gigahertz clock speeds, and optimizing compilers, the pressure to try to optimize by hand is gone. A few extra parentheses, or even breaking down a complex sequence of events into discrete, simpler ones, is no longer a costly luxury. A few extra variables, if they help clarity, aren't going to hurt anything. Let the machine do the grunt work. Pamper your readers (which in a few weeks or months might be you) and show exactly what you had in mind. That's all I'm saying. -- I'd just as soon kiss a Wookie. -- Princess Leia Organa -- http://mail.python.org/mailman/listinfo/python-list