The term postfix notation describes the general scheme in mathematics and computer sciences, whereas the term reverse Polish notation typically refers specifically to the method used to enter calculations into hardware or software calculators, which often have additional side effects and implications depending on the actual implementation involving a stack.
The reverse Polish scheme was again proposed in 1954 by Arthur Burks, Don Warren, and Jesse Wright[9] and was independently reinvented by Friedrich L. Bauer and Edsger W. Dijkstra in the early 1960s to reduce computer memory access and use the stack to evaluate expressions.
[16][17] In computer science, reverse Polish notation is used in stack-oriented programming languages such as Forth, dc, Factor, STOIC, PostScript, RPL, and Joy.
The first computer implementing a form of reverse Polish notation (but without the name and also without a stack), was Konrad Zuse's Z3, which he started to construct in 1938 and demonstrated publicly on 12 May 1941.
[31][32] Other early computers to implement architectures enabling reverse Polish notation were the English Electric Company's KDF9 machine, which was announced in 1960 and commercially available in 1963,[33] and the Burroughs B5000, announced in 1961 and also delivered in 1963: Presumably, the KDF9 designers drew ideas from Hamblin's GEORGE (General Order Generator),[10][11][13][34][35][32] an autocode programming system written for a DEUCE computer installed at the University of Sydney, Australia, in 1957.
[10][11][13][33] One of the designers of the B5000, Robert S. Barton, later wrote that he developed reverse Polish notation independently of Hamblin sometime in 1958 after reading a 1954 textbook on symbolic logic by Irving Copi,[36][37][38] where he found a reference to Polish notation,[38] which made him read the works of Jan Łukasiewicz as well,[38] and before he was aware of Hamblin's work.
Friden introduced reverse Polish notation to the desktop calculator market with the EC-130, designed by Robert "Bob" Appleby Ragen,[39] supporting a four-level stack[5] in June 1963.
[5] Hewlett-Packard engineers designed the 9100A Desktop Calculator in 1968 with reverse Polish notation[16] with only three stack levels with working registers X ("keyboard"), Y ("accumulate") and visible storage register Z ("temporary"),[42][43] a reverse Polish notation variant later referred to as three-level RPN.
It deviates from classical reverse Polish notation by using a dynamic stack only limited by the amount of available memory (instead of three or four fixed levels) and which could hold all kinds of data objects (including symbols, strings, lists, matrices, graphics, programs, etc.)
[51] However, like RPL, it does not emulate the behaviour of a classical operational RPN stack to duplicate the top register on drops.
In late 2017, the list of active models supporting reverse Polish notation included only the 12C, 12C Platinum, 17bii+, 35s, and Prime.
By July 2023, only the 12C, 12C Platinum, the freshly released HP 15C Collector's Edition, and the Prime remain active models supporting RPN.
In contrast to Hewlett-Packard's reverse Polish notation implementation, W filled with 0 instead of its contents being duplicated on stack drops.
Soviet programmable calculators (MK-52, MK-61, B3-34 and earlier B3-21[58] models) used reverse Polish notation for both automatic mode and programming.
In addition to the optional support for an eight-level stack, the newer SwissMicros DM42-based WP 43S as well as the WP 43C (2019) / C43 (2022) / C47 (2023) derivatives support data types for stack objects (real numbers, infinite integers, finite integers, complex numbers, strings, matrices, dates and times).
The latter three variants can also be switched between classical and entry RPN behaviour of the Enter ↑ key, a feature often requested by the community.