On 1/29/21 6:27 AM, Paul Koning via cctalk wrote: > True, although right to left is not a natural way to read mathematical > formulas. The reason APL uses right to left is that the designers apparently > were unwilling to change the direction of the assignment operator, so > everything else had to follow. Another language that doesn't have precedence > avoided this issue by changing assignment to match the others, i.e., > everything is left to right. That is POP-2, a language out of the U of > Edinborough I remember from an AI class. So it would do stuff like: > > a + 1 * 5 -> b > > which in C would be > > b = (a + 1) * 5; > > and is definitely easier to read than the APL equivalent.
Well, part of the confusion lies in the difference of "=" in mathematics indicating a property or state, as opposed to computer languages using it as an operator. It's a subtle distinction, but important. D = 4AC in mathematics establishes a property of D, whereas D = 4*A*C in BASIC, etc. means "multiply 4 by A, then take that result and multiply it by the value of C and store the result into D. APL treats the assignment as what it is--an operation. Why the RTL of APL was chosen by Iverson, is a mystery; I agree. He was, as far as I know, not native writer of Hebrew. I suppose we should be grateful that he didn't specify APL as a boustrophedon. We already have Forth. --Chuck