[Tutor] Simple RPN calculator
Brian van den Broek
bvande at po-box.mcgill.ca
Sun Dec 5 17:40:38 CET 2004
Kent Johnson said unto the world upon 2004-12-05 06:55:
> RPN reverses the order of operator and operand, it doesn't reverse the
> whole string. So in Polish Notation 2 + 3 is +23 and (2 + 3) - 1 is
> -+231; in RPN they become 23+ and 23+1-
Thanks Kent, that is what I had assumed it would be by analogy to Polish
notation in logic. Somewhere on the thread, I though it had been
asserted that all opps and operands were separated. For a bit there, I
thought I'd gone all goofy :-) So, thanks for clearing that up.
Thanks also for the other interesting posts on the thread.
Largely off-topic things follow:
One other advantage, at least from the logicians perspective is that
standard "infix" notation is only able to comfortably deal with binary
and unary operations (operations that have 2 or 1 arguments). For
arithmetic, where you can do everything with zero, successor,
multiplication, and addition, that isn't so important. But notice that
general function notation, in Python and in math, is also Polish -- to
write a 4 placed function that takes, say, the greatest common divisor
of two numbers, and the least common multiple of two others, and tells
you if the first divides the second, you've got to write:
So, Polish notation makes manifest the conceptual similarity between the
addition -- ADD(a,b) -- 2-placed function and arbitrary n-placed functions.
This also helps out a lot in some of the areas where formal logic and
formal semantics for natural languages bleed into each other. At a cost
of patience, all truth functions can be expressed in terms of the "not
both" truth function, so polyadic truth-functions past binary don't
really need Polish notation.
But, when you consider the quantifiers ('for everything . . .' and
'there is at least on thing . . . '), standard ones are one-placed (with
a given universe of discourse set assumed). In the 1950's and 1960's
mathematicians began exploring generalizations of the quantifier notion.
There have, since the 1980's, been a sizable group of linguists who
argue that natural language quantification is almost always 2 or higher
placed. After two places, this too needs Polish notation (or heroic and
More information about the Tutor