Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Reverse Polish notation
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Mathematics notation where operators follow operands}} {{Redirect|Operational stack|the English Channel lorry parking procedure |Operation Stack}} {{Use list-defined references|date=December 2021}} {{Use dmy dates|date=April 2019|cs1-dates=y}} {{Operator notation sidebar |logo=[[File:Postfix-dia.svg|125px]]}} [[File:Typing the calculation for "8 times 6" into a pocket calculator HP-32SII which uses RPN logic.webm|thumb|upright|Video: Keys pressed for calculating eight times six on a [[HP-32S|HP-32SII]] (employing RPN) from 1991]] '''Reverse Polish notation''' ('''RPN'''), also known as '''reverse Łukasiewicz notation''', '''Polish postfix notation''' or simply '''postfix notation''', is a mathematical notation in which [[Operation (mathematics)|operators]] ''follow'' their [[operand]]s, in contrast to [[prefix notation|prefix]] or [[Polish notation]] (PN), in which operators ''precede'' their operands. The notation does not need any parentheses for as long as each operator has a fixed [[arity|number of operands]]. 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 effect (computer science)|side effect]]s and implications depending on the actual implementation involving a [[stack (data structure)|stack]]. The description "Polish" refers to the [[nationality]] of [[logician]] [[Jan Łukasiewicz]],<ref name="Łukasiewicz_1951"/><ref name="Łukasiewicz_1957"/> who invented Polish notation in 1924.<ref name="Łukasiewicz_1929"/><ref name="Hamblin_1962"/><ref name="Ball_1978"/><ref name="Kennedy_1982"/> The first computer to use postfix notation, though it long remained essentially unknown outside of Germany, was [[Konrad Zuse]]'s [[Z3 (computer)|Z3]] in 1941<ref name="Ceruzzi_1980"/><ref name="Rojas_1997"/> as well as his [[Z4 (computer)|Z4]] in 1945. The reverse Polish scheme was again proposed in 1954 by [[Arthur Burks]], Don Warren, and Jesse Wright<ref name="Burks_1954"/> 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 (data structure)|stack]] to evaluate [[Expression (mathematics)|expression]]s. The [[algorithm]]s and notation for this scheme were extended by the philosopher and computer scientist [[Charles Leonard Hamblin|Charles L. Hamblin]] in the mid-1950s.<!-- there might be earlier works on this from the mid-1950s (TBD), but let's already mention some 1957 works --><ref name="Hamblin_1957_1"/><ref name="Hamblin_1957_2"/><ref name="Hamblin_1957_3"/><ref name="Hamblin_1958"/><ref name="McBurney_2008_2"/><ref name="McBurney_2008_1"/>{{excessive citations inline||date=October 2024}} During the 1970s and 1980s, [[Hewlett-Packard]] used RPN in all of their desktop and hand-held calculators, and has continued to use it in some models into the 2020s.<ref name="Osborne_1994"/><ref name="Peterson_2011"/> In [[computer science]], reverse Polish notation is used in [[stack-oriented programming languages]] such as [[Forth (programming language)|Forth]], [[dc (programming language)|dc]], [[Factor (programming language)|Factor]], [[STOIC]], [[PostScript]], [[RPL (programming language)|RPL]], and [[Joy (programming language)|Joy]]. == Explanation == In reverse Polish notation, the [[operation (mathematics)|operator]]s follow their [[operand]]s. For example, to add 3 and 4 together, the expression is {{nowrap|3 4 +}} rather than {{nowrap|3 + 4}}. The conventional notation expression {{nowrap|3 − 4 + 5}} becomes {{nowrap|3 (enter) 4 − 5 +}} in reverse Polish notation: 4 is first subtracted from 3, then 5 is added to it. The concept of a ''[[stack (data structure)|stack]]'', a last-in/first-out construct, is integral to the left-to-right evaluation of RPN. In the example {{nowrap|3 4 −}}, first the 3 is put onto the stack, then the 4; the 4 is now on top and the 3 below it. The subtraction operator removes the top two items from the stack, performs {{nowrap|3 − 4}}, and puts the result of −1 onto the stack. The common terminology is that added items are ''pushed'' on the stack and removed items are ''popped''. The advantage of reverse Polish notation is that it removes the need for order of operations and parentheses that are required by [[infix notation]] and can be evaluated linearly, left-to-right. For example, the infix expression {{nowrap|(3 + 4) × (5 + 6)}} becomes {{nowrap|3 4 + 5 6 + ×}} in reverse Polish notation. == Practical implications == Reverse Polish notation has been compared to how one had to work through problems with a [[slide rule]].<ref name="Williams_2023"/> In comparison, testing of reverse Polish notation with algebraic notation, reverse Polish has been found to lead to faster calculations, for two reasons. The first reason is that reverse Polish calculators do not need expressions to be parenthesized, so fewer operations need to be entered to perform typical calculations. Additionally, users of reverse Polish calculators made fewer mistakes than for other types of calculators.<ref name="Kasprzyk-Drury-Bialas_1979"/><ref name="Agate_1980"/> Later research clarified that the increased speed from reverse Polish notation may be attributed to the smaller number of keystrokes needed to enter this notation, rather than to a smaller cognitive load on its users.<ref name="Hoffman_1994"/> However, anecdotal evidence suggests that reverse Polish notation is more difficult for users who previously learned algebraic notation.<ref name="Agate_1980"/> == Converting from infix notation == {{main|Shunting-yard algorithm}} [[Edsger W. Dijkstra]] invented the [[shunting-yard algorithm]] to convert infix expressions to postfix expressions (reverse Polish notation), so named because its operation resembles that of a [[classification yard|railroad shunting yard]]. There are other ways of producing postfix expressions from infix expressions. Most [[operator-precedence parser]]s can be modified to produce postfix expressions; in particular, once an [[abstract syntax tree]] has been constructed, the corresponding postfix expression is given by a simple [[post-order traversal]] of that tree. == Implementations == === Hardware calculators === ==== Early history ==== The first computer implementing a form of reverse Polish notation (but without the name and also without a [[stack machine|stack]]), was [[Konrad Zuse]]'s [[Z3 (computer)|Z3]], which he started to construct in 1938 and demonstrated publicly on 12 May 1941.<ref name="parTU_2000"/><ref name="Zuse_2008"/><ref name="DHM_2013"/><ref name="Bundesmann_2016"/> In dialog mode, it allowed operators to enter two operands followed by the desired operation.{{refn|group=z3|In reference to "In dialog mode, it allowed operators to enter two operands followed by the desired operation" for the Z3 computer, the following citations are relevant :<ref name="Ceruzzi_1980"/><ref name="Ceruzzi_1983"/><ref name="Rojas_1997"/><ref name="Zuse_2005"/><ref name="Zuse_2008"/><ref name="Bonten_2009"/><ref name="Bundesmann_2016"/><ref name="WDF_2018"/><ref name="Tremmel_2021"/>}} It was destroyed on 21 December 1943 in a bombing raid.<ref name="Zuse_2008"/> With Zuse's help a first replica was built in 1961.<ref name="Zuse_2008"/> The 1945 [[Z4 (computer)|Z4]] also added a 2-level [[stack machine|stack]].<ref name="Blaauw-Brooks_1997"/><ref name="LaForest_2007"/> Other early computers to implement architectures enabling reverse Polish notation were the [[English Electric Company]]'s [[English Electric KDF9|KDF9]] machine, which was announced in 1960 and commercially available in 1963,<ref name="Beard_1997"/> and the [[Burroughs B5000]], announced in 1961 and also delivered in 1963: Presumably, the KDF9 designers drew ideas from Hamblin's [[GEORGE (autocode system)|GEORGE]] (General Order Generator),<ref name="Hamblin_1957_1"/><ref name="Hamblin_1957_2"/><ref name="Hamblin_1958"/><ref name="Duncan_1977"/><ref name="Allen_1985"/><ref name="LaForest_2007"/> an [[autocode]] programming system written for a [[English Electric DEUCE|DEUCE]] computer installed at the [[University of Sydney]], Australia, in 1957.<ref name="Hamblin_1957_1"/><ref name="Hamblin_1957_2"/><ref name="Hamblin_1958"/><ref name="Beard_1997"/> 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]],<ref name="NewApproach"/><ref name="B5000_1985"/><ref name="Galler-Rosin_1985"/> where he found a reference to Polish notation,<ref name="Galler-Rosin_1985"/> which made him read the works of Jan Łukasiewicz as well,<ref name="Galler-Rosin_1985"/> and before he was aware of Hamblin's work. [[Friden, Inc.|Friden]] introduced reverse Polish notation to the desktop calculator market with the [[Friden EC-130|EC-130]], designed by [[Bob Ragen|Robert "Bob" Appleby Ragen]],<ref name="Ragen_2012"/> supporting a four-level stack<ref name="Ball_1978"/> in June 1963<!-- Ball writes ca. 1964 -->.<ref name="Friden_EC-130"/> The successor [[Friden EC-132|EC-132]] added a square root function in April 1965.<ref name="Friden_EC-132"/> Around 1966, the [[Monroe Epic]] calculator supported an unnamed input scheme resembling RPN as well.<ref name="Ball_1978"/> ==== {{anchor|HP}}Hewlett-Packard ==== {{main|HP calculators}} [[File:Hewlett-Packard No Equals hat.jpg|thumb|A promotional Hewlett-Packard "No Equals" hat from the 1980s – both a boast and a reference to RPN]] {{anchor|Three-level RPN}}[[Hewlett-Packard]] engineers designed the [[Hewlett-Packard 9100A|9100A Desktop Calculator]] in 1968 with reverse Polish notation<ref name="Osborne_1994"/> with only three stack levels with working registers ''X'' ("keyboard"), ''Y'' ("accumulate") and visible storage register ''Z'' ("temporary"),<ref name="Monnier_1968"/><ref name="HP9100A_1968"/> a reverse Polish notation variant later referred to as ''three-level RPN''.<ref name="HP9100A_1998"/> This calculator popularized reverse Polish notation among the scientific and engineering communities. {{anchor|Four-level RPN|Classical RPN|Automatic Memory Stack}}The [[HP-35]], the world's first handheld scientific [[calculator]],<ref name="Osborne_1994"/> introduced the classical ''four-level RPN'' with its specific ruleset of the so-called ''operational (memory) stack''<ref name="HP35_UM"/><ref group="nb" name="NB_Operational_memory_stack"/> (later also called ''automatic memory stack''<ref name="HP42_OM"/><ref name="HP15C_2011"/><ref group="nb" name="NB_Operational_memory_stack"/>) in 1972.<ref name="Laporte_2014"/> In this scheme, the {{key press|Enter {{larger|↑}}}} key duplicates values into Y under certain conditions (''automatic stack lift'' with ''temporary stack lift disable''), and the top register ''T'' ("top") gets duplicated on drops (''top copy on pop'' aka ''top stack level repetition'') in order to ease some calculations and to save keystrokes.<ref name="HP15C_2011"/> HP used reverse Polish notation on every handheld calculator it sold, whether scientific, financial, or programmable, until it introduced the [[Hewlett-Packard HP-10|HP-10]] [[adding machine]] calculator in 1977. By this time, HP was the leading manufacturer of calculators for professionals, including engineers and accountants. Later calculators with LCDs in the early 1980s, such as the [[HP-10C]], [[HP-11C]], [[HP-15C]], [[HP-16C]], and the financial [[HP-12C]] calculator also used reverse Polish notation. In 1988, Hewlett-Packard introduced a business calculator, the [[HP-19B]], without reverse Polish notation, but its 1990 successor, the [[HP-19BII]], gave users the option of using algebraic or reverse Polish notation again. {{anchor|Dynamic stack}}In 1986,<ref name="Wickes_1987"/><ref name="RPLMAN"/> HP introduced [[RPL (programming language)|RPL]], an object-oriented successor to reverse Polish notation. 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.) instead of just numbers. The system would display an error message when running out of memory instead of just dropping values off the stack on overflow as with fixed-sized stacks.<ref name="Wessman_2016"/> It also changed the behaviour of the stack to no longer duplicate the top register on drops (since in an unlimited stack there is no longer a top register) and the behaviour of the {{key press|Enter {{larger|↑}}}} key so that it no longer duplicated values into Y, which had shown to sometimes cause confusion among users not familiar with the specific properties of the ''automatic memory stack''. From 1990 to 2003, HP manufactured the [[HP-48 series]] of graphing RPL calculators, followed by the [[HP-49 series]] between 1999 and 2008. The last RPL calculator was named [[HP 50g]], introduced in 2006 and discontinued in 2015. However, there are several community efforts like [[newRPL]] or [[DB48X]] to recreate RPL on modern calculators. As of 2011, Hewlett-Packard was offering the calculator models 12C, 12C Platinum, [[HP 17bII+|17bII+]], [[HP 20b|20b]], [[HP 30b|30b]], [[HP 33s|33s]], [[HP 35s|35s]], [[HP 48gII|48gII]] (RPL) and 50g (RPL) which support reverse Polish notation.<ref name="HP_Calc"/> {{anchor|Entry RPN}}While calculators emulating classical models continued to support classical reverse Polish notation, new reverse Polish notation models feature a variant of reverse Polish notation, where the {{key press|Enter {{larger|↑}}}} key behaves as in RPL. This latter variant is sometimes known as ''entry RPN''.<ref name="HP_Evolves"/> {{anchor|128-level RPN|Advanced RPN}}In 2013, the [[HP Prime]] introduced a ''128-level'' form of entry RPN called ''advanced RPN''. In contrast to RPL with its dynamic stack, it just drops values off the stack on overflow like other fixed-sized stacks do.<ref name="Wessman_2016"/> 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. {{See also|#Community-developed hardware-based calculators{{!}}HP-related community-developed calculators}} ==== Sinclair Radionics ==== In Britain, [[Clive Sinclair]]'s [[Sinclair Scientific]] (1974) and [[Sinclair Scientific Programmable|Scientific Programmable]] (1975) models used reverse Polish notation.<ref name="Shirriff_2013"/><ref name="Sharwood_2013"/> ===={{anchor|Two-level RPN}}Commodore==== In 1974, [[Commodore Business Machines|Commodore]] produced the [[Commodore MM6|Minuteman *6]] (MM6) without an {{key press|Enter {{larger|↑}}}} key and the [[Commodore MM6X|Minuteman *6X]] (MM6X) with an {{key press|Enter {{larger|↑}}}} key, both implementing a form of ''two-level RPN''. The [[Commodore SR4921 RPN|SR4921 RPN]]<!-- not to be confused with the SR4921 without the RPN suffix! --> came with a variant of ''four-level RPN'' with stack levels named X, Y, Z, and W (rather than T) and an {{key press|Ent}} key (for "entry"). In contrast to Hewlett-Packard's reverse Polish notation implementation, W filled with 0 instead of its contents being duplicated on stack drops.<ref name="Commodore_SR4921R"/> ==== Prinztronic ==== '''Prinz''' and '''Prinztronic''' were own-brand trade names of the British [[Dixons Retail|Dixons]] photographic and electronic goods stores retail chain, later rebranded as [[Currys Digital]] stores, and became part of DSG International. A variety of calculator models was sold in the 1970s under the Prinztronic brand, all made for them by other companies. Among these was the PROGRAM<ref name="Prinztronic"/> Programmable Scientific Calculator which featured reverse Polish notation. ==== {{anchor|5-level RPN}}Heathkit ==== The [[Aircraft Navigation Computer]] [[Heathkit OC-1401]]/[[Heathkit OCW-1401|OCW-1401]] used ''five-level RPN'' in 1978. ==== Soviet Union / Semico ==== [[Soviet Union|Soviet]] programmable calculators ([[MK-52]], [[MK-61]], [[Elektronika B3-34|B3-34]] and earlier [[B3-21]]<ref name="Elektronika_B3-21"/> models) used reverse Polish notation for both automatic mode and programming. Modern Russian calculators [[MK-161]]<ref name="Elektronika_MK-161"/> and [[MK-152]],<ref name="Elektronika_MK-61"/> designed and manufactured in [[Novosibirsk]] since 2007 and offered by [[Semico]],<ref name="SEMICO"/> are backwards compatible with them. Their extended architecture is also based on reverse Polish notation. ==== Others ==== * {{anchor|7-level RPN}}A seven-level stack had been implemented in the [[MITS 7400C]] scientific desktop calculator in 1972<ref name="RE_1972"/><ref name="Berger_1973"/><ref name="MITS7400"/> * [[National Semiconductor]] 4615 and 4640 * Novus 650 Mathbox, 3500 Sliderule, 4510 Mathematician, 4515 Mathematician PRO/RG, 4520 Scientist and 4525 Scientist PR * Some [[APF Electronics Inc.|APF]] calculators like the Mark 55 (1976)<ref name="TKE_1976"/> * [[SwissMicros]] (originally firming as RPN-Calc) calculators including the [[SwissMicros DM-10CC|DM-10CC]] (2012), [[SwissMicros DM-11CC|DM-11CC]] (2012), [[SwissMicros DM-12CC|DM-12CC]] (2012), [[SwissMicros DM-15CC|DM-15CC]] (2012), [[SwissMicros DM-16CC|DM-16CC]] (2012), [[SwissMicros DM10|DM10]] (2013), [[SwissMicros DM11|DM11]] (2013), [[SwissMicros DM12|DM12]] (2013), [[SwissMicros DM15|DM15]] (2013), [[SwissMicros DM16|DM16]] (2013), [[SwissMicros DM10L|DM10L Collector's Edition]] (2020), [[SwissMicros DM11L|DM11L]] (2016), [[SwissMicros DM12L|DM12L]] (2016), [[SwissMicros DM15L|DM15L]] (2015), [[SwissMicros DM16L|DM16L]] (2015), [[SwissMicros DM41|DM41]] (2015), [[SwissMicros DM41L|DM41L]] (2015), [[SwissMicros DM41X|DM41X]] (2020), [[SwissMicros DM42|DM42]] (2017) and [[SwissMicros DM32|DM32]] (2023). ==== {{anchor|8-level RPN}}Community-developed hardware-based calculators ==== {{See also|#Hewlett-Packard{{!}}Hewlett-Packard RPN calculators}} An eight-level stack was suggested by John A. Ball in 1978.<ref name="Ball_1978"/> The community-developed calculators [[WP 34S]] (2011<!-- with some initial planning going back to 2008 -->), [[WP 31S]] (2014) and [[WP 34C]] (2015), which are based on the [[HP 20b]]/[[HP 30b]] hardware platform, support classical Hewlett-Packard-style reverse Polish notation supporting automatic stack lift behaviour of the {{key press|Enter {{larger|↑}}}} key and top register copies on pops, but switchable between a four- and an eight-level operational stack. 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 (calculator)|C43]] (2022) / [[C47 (calculator)|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 {{key press|Enter {{larger|↑}}}} key, a feature often requested by the community.<ref name="Paul_2015"/> They also support a rarely seen [[significant figure]]s mode, which had already been available as a compile-time option for the WP 34S and WP 31S.<ref name="Bit_2014"/><ref name="Bit_2015"/> Since 2021, the [[HP-42S]] simulator [[Free42]] version 3<!-- (aka [[Plus42]] version 1) --> can be enabled to support a dynamic RPN stack only limited by the amount of available memory instead of the classical 4-level stack. This feature was incorporated as a selectable function into the DM42 since firmware DMCP-3.21 / DM42-3.18.<ref>https://forum.swissmicros.com/viewtopic.php?f=16&t=2939<!-- UPDATE: DMCP-3.21 / DM42-3.18 2021-04-17 https://web.archive.org/web/20230923132306/https://forum.swissmicros.com/viewtopic.php?f=16&t=2939 --></ref><ref>https://forum.swissmicros.com/viewtopic.php?f=15&t=2845<!-- Free42 Version 3 2021-02-24 https://web.archive.org/web/20230923135327/https://forum.swissmicros.com/viewtopic.php?f=15&t=2845 --></ref> === Software calculators === Software calculators: * [[Atari Calculator]] * [[Calculator (macOS)|Mac OS X Calculator]] * Several Apple [[iPhone]] applications e.g. "reverse polish notation calculator" * Several [[Android (operating system)|Android]] applications e.g. "RealCalc" * Several [[Windows 10 Mobile]] applications e.g. "RPN9" * [[Unix|Unix system]] calculator program [[dc (computer program)|dc]] * [[Emacs#Features|Emacs]] lisp library package calc * [[X.Org Server|Xorg]] calculator ([[xcalc]]) * ARPCalc,<ref name="ARPCalc"/> a powerful scientific/engineering RPN calculator for Windows, Linux and Android that also has a web-browser based version * {{Proper name|grpn}}<ref name="Wilkins"/> scientific/engineering calculator using the GIMP Toolkit ([[GTK+]]) * F-Correlatives in [[MultiValue]] dictionary items * [[RRDtool]], a widely used tabulating and graphing software * {{Proper name|grdmath}}, a program for algebraic operations on [[NetCDF]] grids, part of [[Generic Mapping Tools]] (GMT) suite * {{Proper name|galculator}},<ref name="GTK"/> a GTK desktop calculator * Mouseless Stack-Calculator<ref name="Schrijver"/> scientific/engineering calculator including complex numbers * {{Proper name|rpCalc}},<ref name="rpCalc"/> a simple reverse polish notation calculator written in [[Python (programming language)|Python]] for Linux and MS Windows and published under the [[GNU General Public License|GNU GPLv2]] license * orpie, RPN calculator for the terminal for real or complex numbers or matrices * [[Qalculate!]], a powerful and versatile cross-platform desktop calculator * [[WRPN Calculator]] === Programming languages === Existing implementations using reverse Polish notation include: * [[Stack-oriented programming language]]s such as: ** [[Forth (programming language)|Forth]] ** [[dc (programming language)|dc]] ** [[STOIC]] ** [[Factor (programming language)|Factor]] ** [[PostScript]] page description language<ref name="Adobe_1986_PLTC"/><ref name="Adobe_PLRM3"/> ** [[BibTeX]] style files<ref>{{citation | last1 = Dagnat | first1 = Fabien | last2 = Keryell | first2 = Ronan | last3 = Aoun | first3 = Youssef | last4 = Sastre | first4 = Laura Barrero | last5 = de Rosière | first5 = Emmanuel Donin | last6 = Torneri | first6 = Nicolas | department = Proceedings of EuroTeX 2003 | issue = 3 | journal = TUGboat | pages = 472–488 | title = BibTeX++: Toward Higher-order BibTeXing | url = https://www.tug.org/TUGboat/Articles/tb24-3/keryell.pdf | volume = 24 | year = 2003}}</ref> ** [[Befunge]] ** [[Joy (programming language)|Joy]] ** [[IPTSCRAE]] ** [[Lotus 1-2-3]] and [[Lotus Symphony (DOS)|Lotus Symphony]] formulas<ref name="Born_2001_WKS"/><ref name="Born_2001_WK3"/> ** [[RPL (Samurai Software)|RPL]] (aka Reverse Polish Language)<!-- by Samurai Software -->, a programming language for the [[Commodore PET]] around 1979/1981 ** [[RPL (programming language)|RPL]] (aka Reverse Polish Lisp), a programming language for [[Hewlett-Packard]] calculators between 1986 and 2015<ref name="Wickes_1987"/><ref name="RPLMAN"/> ** [[RPNL]] (Reverse Polish Notation Language)<ref name="Feichtinger_1987"/><ref name="Wostrack_1989"/> * Class libraries ** TRURL,<ref name="Dietrich_2019"/> a class library for the construction of RPN calculators in [[Object Pascal]] == See also == * [[Calculator input methods]] * [[FOCAL keystroke programming]] * [[Stack machine]] * [[Head-directionality parameter]] * [[Scrambling (linguistics)]] * [[Subject object verb]] and [[Object subject verb]] == Notes == {{reflist|group="nb"|refs= <ref group="nb" name="NB_Operational_memory_stack">[[Hewlett-Packard]], in the 1970s, called their special RPN stack implementation an ''operational (memory) stack'' or ''automatic memory stack''. Interestingly, [[Klaus Samelson]] and [[Friedrich L. Bauer]], the inventors of the stack principle, called their stack {{lang|de|Operationskeller}} (Engl. "[[operational cellar]]") in 1955, and [[parallel discoverer]] {{ill|Wilhelm Kämmerer|de}} called his stack concept {{lang|de|Automatisches Gedächtnis}} (Engl. "[[automatic memory]]") in 1958.</ref> }} {{reflist|group="z3"}} == References == {{reflist|refs= <ref name="Hamblin_1957_1">{{cite book |title=An Addressless Coding Scheme based on Mathematical Notation |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |publisher=[[New South Wales University of Technology]] |date=May 1957 |type=Typescript}}</ref> <ref name="Hamblin_1957_2">{{cite journal |title=An addressless coding scheme based on mathematical notation |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |date=June 1957 |journal=Proceedings of the First Australian Conference on Computing and Data Processing |location=Salisbury, South Australia |publisher=[[Weapons Research Establishment]]}}</ref> <ref name="Hamblin_1957_3">{{cite journal |title=Computer Languages |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |date=1957 |journal=The Australian Journal of Science |number<!-- or volume? -->=20? |pages=135–139 |postscript=;}} {{cite journal |title=Computer Languages |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |date=November 1985 |journal=The Australian Computer Journal |volume=17 |issue=4 |pages=195–198 |type=Reprint}}</ref> <ref name="Hamblin_1958">{{cite book |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |title=GEORGE IA and II: A semi-translation programming scheme for DEUCE: Programming and Operation Manual |publisher=School of Humanities, University of New South Wales, Kensington, New South Wales |date=1958 |url=http://members.iinet.net.au/~dgreen/deuce/GEORGEProgrammingManual.pdf |access-date=2020-07-27 |url-status=live |archive-url=https://web.archive.org/web/20200404093021/http://members.iinet.net.au/~dgreen/deuce/GEORGEProgrammingManual.pdf |archive-date=2020-04-04}}</ref> <ref name="Beard_1997">{{cite magazine |magazine=[[Resurrection (magazine)|Resurrection]] - The Bulletin of the Computer Conservation Society |issn=0958-7403 |publisher=[[Computer Conservation Society]] (CCS) |number=18 |date=Autumn 1997 |orig-date=1996-10-01 |title=The KDF9 Computer — 30 Years On |author-first=Bob |author-last=Beard |pages=7–15 |url=http://www.cs.man.ac.uk/CCS/Archive/Resurrection/pdf/res18.pdf |access-date=2020-07-27 |url-status=live |archive-url=https://web.archive.org/web/20200727140754/http://www.cs.man.ac.uk/CCS/Archive/Resurrection/pdf/res18.pdf |archive-date=2020-07-27 |quote-page=8 |quote=[…] The [[KDF9]] is remarkable because it is the believed to be the first zero-address instruction format computer to have been announced (in 1960). It was first delivered at about the same time (early 1963) as the other famous zero-address computer, the [[Burroughs B5000]] in America. Like many modern pocket calculators, a zero-address machine allows the use of Reverse Polish arithmetic; this offers certain advantages to compiler writers. It is believed that the attention of the English Electric team was first drawn to the zero-address concept through contact with [[GEORGE (autocode system)|George]] (General Order Generator), an autocode programming system written for a [[English Electric DEUCE|Deuce]] computer by the [[University of Sydney]], Australia, in the latter half of the 1950s. George used Reversed Polish, and the KDF9 team were attracted to this convention for the pragmatic reason of wishing to enhance performance by minimising accesses to main store. This may be contrasted with the more "theoretical" line taken independently by [[Burroughs Corporation|Burroughs]]. Besides a hardware [[nesting store]] or stack - the basic mechanism of a zero-address computer - the KDF9 had other groups of central registers for improving performance which gave it an interesting internal structure. […]}} [https://web.archive.org/web/20200427075718/http://www.cs.man.ac.uk/CCS/res/res18.htm#c] (NB. This is an edited version of a talk given to North West Group of the Society at the Museum of Science and Industry, Manchester, UK on 1996-10-01.)</ref> <ref name="Łukasiewicz_1929">{{cite book |title=Elementy logiki matematycznej |language=pl |author-last=Łukasiewicz |author-first=Jan |author-link=Jan Łukasiewicz |location=Warsaw, Poland |edition=1 |publisher=[[Państwowe Wydawnictwo Naukowe]] |date=February 1929 |postscript=none}}; {{cite book |title=Elements of mathematical logic |author-last=Łukasiewicz |author-first=Jan |author-link=Jan Łukasiewicz |translator-first=Olgierd Adrian |translator-last=Wojtasiewicz |translator-link=:pl:Olgierd Adrian Wojtasiewicz |date=1963 |publication-place=New York, USA |publisher=[[The MacMillan Company]] |page=24}}</ref> <ref name="Łukasiewicz_1951">{{cite book |title=Aristotle's Syllogistic from the Standpoint of Modern Formal Logic |author-last=Łukasiewicz |author-first=Jan |author-link=Jan Łukasiewicz |date=1951 |edition=1 |chapter=Chapter IV. Aristotle's System in Symbolic Form (section on "Explanation of the Symbolism") |page=78}}</ref> <ref name="Łukasiewicz_1957">{{cite book |title=Aristotle's Syllogistic from the Standpoint of Modern Formal Logic |author-last=Łukasiewicz |author-first=Jan |author-link=Jan Łukasiewicz |publisher=[[Oxford University Press]] |date=1957 |edition=2}} (Reprinted by Garland Publishing in 1987 {{isbn|0-8240-6924-2}}.)</ref> <ref name="Kennedy_1982">{{cite journal |title=RPN Perspective |author-first=John |author-last=Kennedy |location=Mathematics Department, Santa Monica College, Santa Monica, California, USA |journal=[[PPC Calculator Journal]] |volume=9 |number=5 |date=August 1982 |pages=26–29 |citeseerx=10.1.1.90.6448 |url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.6448&rep=rep1&type=pdf |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20220701223543/http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.6448&rep=rep1&type=pdf |archive-date=2022-07-01}} (12 pages)</ref> <ref name="Ball_1978">{{cite book |title=Algorithms for RPN calculators |url=https://archive.org/details/algorithmsforrpn0000ball |url-access=registration |author-first=John A. |author-last=Ball |date=1978 |edition=1 |publisher=[[Wiley-Interscience]], [[John Wiley & Sons, Inc.]] |location=Cambridge, Massachusetts, USA |isbn=0-471-03070-8 |lccn=77-14977 |quote-page=2 |quote=[…] In their advertisements and also in a letter to me, [[Hewlett-Packard]] Company (HP), the best known manufacturer of RPN calculators, says that RPN is based on a suggestion by [[Jan Łukasiewicz]] (1878–1956), and that RPN was invented and is patented by HP. Aside from the apparent contradiction in these two statements, I do not think that either of them is quite true. My first experience with RPN involved a nice old [[Friden EC-130]] desktop electronic calculator, circa 1964. The EC-130 has RPN with a push-down stack of four registers, all visible simultaneously on a cathode ray tube display. Furthermore, they are shown upside down, that is, the last-in-first-out register is at the bottom. […] Around 1966, the [[Monroe Epic]] calculator offered RPN with a stack of four, a printer, and either 14 or 42 step programmability. The instruction booklets with these two calculators make no mention of RPN or [[Jan Łukasiewicz]]. […]}}</ref> <ref name="Peterson_2011">{{cite news |url=https://www.wsj.com/articles/SB10001424052748703841904576257440326458056 |url-access=subscription |title=Wall Street's Cult Calculator Turns 30 |author-first=Kristina |author-last=Peterson |date=2011-05-04 |work=[[The Wall Street Journal]] |access-date=6 December 2015 |archive-url=https://web.archive.org/web/20150316030830/https://www.wsj.com/articles/SB10001424052748703841904576257440326458056 |archive-date=2015-03-16}}</ref> <ref name="Agate_1980">{{cite journal |title=Electronic calculators: which notation is the better? |journal=[[Applied Ergonomics]] |issn=0003-6870 |eissn=1872-9126 |volume=11 |issue=1 |date=March 1980 |pages=2–6 |author-first1=Seb J. |author-last1=Agate |author-first2=Colin G. |author-last2=Drury |location=Department of Industrial Engineering, University at Buffalo, State University of New York, USA |doi=10.1016/0003-6870(80)90114-3 |pmid=15676368 |id=0003-6870/80/01 0002-05 |publisher=[[IPC Business Press]] |url=https://www.keesvandersanden.nl/calculators/downloads/Electronic-calculators-which-notation-is-the-better.pdf |access-date=2018-09-22 |url-status=live |archive-url=https://web.archive.org/web/20230923063402/https://www.keesvandersanden.nl/calculators/downloads/Electronic-calculators-which-notation-is-the-better.pdf |archive-date=2023-09-23 |quote-page=6 |quote=In terms of practical choice between calculators, it would appear that RPN is faster and more accurate overall but particularly for more complex problems.}} (5 pages)</ref> <ref name="Galler-Rosin_1985">{{cite web |title=Oral History: Burroughs B5000 Conference |editor-first1=Bernard A. |editor-last1=Galler |editor-first2=Robert F. |editor-last2=Rosin |date=1985-09-06 |id=OH 98 |publisher=[[AFIPS]] / [[Burroughs Corporation]] |location=[[Marina del Rey, California]], USA, archived by the [[Charles Babbage Institute]], University of Minnesota, Minneapolis |url=https://conservancy.umn.edu/bitstream/handle/11299/107105/oh098b5c.pdf?sequence=1&isAllowed=y<!--http://purl.umn.edu/107105--> |hdl=11299/107105 |access-date=2023-09-23 |url-status=live |archive-url=https://web.archive.org/web/20230923064139/https://conservancy.umn.edu/bitstream/handle/11299/107105/oh098b5c.pdf?sequence=1&isAllowed=y |archive-date=2023-09-23}}</ref> <ref name="Ragen_2012">{{cite web |title=1928–2012 Obituary Condolences Robert (Bob) Ragen |website=[[Legacy.com]] |date=2012-07-23 |url=http://www.legacy.com/obituaries/insidebayarea/obituary.aspx?n=robert-ragen-bob&pid=158717663 |access-date=2016-01-01 |url-status=live |archive-url=https://web.archive.org/web/20171218233505/http://www.legacy.com/obituaries/name/robert-ragen-obituary?pid=1000000158717663 |archive-date=2017-12-18 |quote=[…] Bob holds over 80 patents awarded during his work as Director of RD for [[Friden, Inc.|Friden]], and [[Singer Corporation|Singer]] and as Senior Project Engineer at [[Xerox]]. He retired from Xerox RD in 1990. He is responsible for the development of the first commercial electronic calculator, the [[Friden EC-130|Friden 130]], which has been displayed at the [[Smithsonian]]. […]}}</ref> <ref name="Osborne_1994">{{cite web |title=Tom Osborne's Story in His Own Words |author-first=Thomas E. |author-last=Osborne |author-link=Tom Osborne (engineer) |orig-date=1994 |date=2010 |publisher=Steve Leibson |url=http://www.hp9825.com/html/osborne_s_story.html |access-date=2016-01-01 |url-status=live |archive-url=https://web.archive.org/web/20220404222610/http://www.hp9825.com/html/osborne_s_story.html |archive-date=2022-04-04 |quote=[…] I changed the architecture to use RPN (Reverse Polish Notation), which is the ideal notation for programming environment in which coding efficiency is critical. In the beginning, that change was not well received... […]}}</ref> <ref name="Monnier_1968">{{cite journal |author-first=Richard E. |author-last=Monnier |title=A New Electronic Calculator with Computerlike Capabilities |journal=[[Hewlett-Packard Journal]] |publisher=[[Hewlett-Packard]] |location=Palo Alto, California, USA |date=September 1968 |volume=20 |issue=1 |pages=3–9 |url=http://www.hparchive.com/Journals/HPJ-1968-09.pdf |access-date=2016-01-03 |url-status=live |archive-url=https://web.archive.org/web/20221020175450/http://www.hparchive.com/Journals/HPJ-1968-09.pdf |archive-date=2022-10-20}}</ref> <ref name="Laporte_2014">{{cite web |title=The slide rule killer: a milestone in computer history |author-first=Jacques |author-last=Laporte<!-- |orig-date=? --> |date=2014-05-22 |url=http://www.jacques-laporte.org/HP%2035%20Saga.htm |url-status=dead |archive-url=https://web.archive.org/web/20150211194800/http://jacques-laporte.org/HP%2035%20Saga.htm |archive-date=2015-02-11 |access-date=2016-01-01}}</ref> <ref name="HP42_OM">{{cite book |title=HP-42S RPN Scientific Calculator – Owner's Manual |date=June 1988 |edition=1 |id=00042-90001 |location=Corvallis, Oregon, USA |publisher=[[Hewlett-Packard Co.]] |page=3 |url=http://www.hp41.net/forum/fileshp41net/manuel-hp42s-us.pdf |access-date=2017-09-17 |url-status=live |archive-url=https://web.archive.org/web/20170917215457/http://www.hp41.net/forum/fileshp41net/manuel-hp42s-us.pdf |archive-date=2017-09-17}}</ref> <ref name="HP35_UM">{{cite book |title=HP35 User's Manual |publisher=[[Hewlett-Packard]] |page=i |quote-page=i |quote=[…] The operational stack and reverse Polish (Łukasiewicz) notation used in the HP-35 are the most efficient way known to computer science for evaluating mathematical expressions. […]}}</ref> <ref name="Shirriff_2013">{{cite web |title=Reversing Sinclair's amazing 1974 calculator hack – half the ROM of the HP-35 |author-last=Shirriff |author-first=Ken |url=http://files.righto.com/calculator/sinclair_scientific_simulator.html |access-date=2013-12-09 |url-status=live |archive-url=https://web.archive.org/web/20220826223841/http://files.righto.com/calculator/sinclair_scientific_simulator.html |archive-date=2022-08-26}}</ref> <ref name="Sharwood_2013">{{cite web |title=Google chap reverse engineers Sinclair Scientific Calculator |work=The Register |author-last=Sharwood |author-first=Simon |date=2013-09-02 |url=https://www.theregister.co.uk/2013/09/02/google_chap_reverse_engineers_sinclair_scientific_calculator/ |access-date=2013-12-09 |url-status=live |archive-url=https://web.archive.org/web/20221020172550/https://www.theregister.com/2013/09/02/google_chap_reverse_engineers_sinclair_scientific_calculator/ |archive-date=2022-10-20}}</ref> <ref name="Adobe_1986_PLTC">{{cite book |title=PostScript Language Tutorial and Cookbook |author=Adobe Systems Incorporated |author-link=Adobe Systems Incorporated |publisher=[[Addison Wesley Publishing Company]] |date=1986 |orig-date=1985 |isbn=0-201-10179-3 |id=9-780201-101799 |edition=27th printing, August 1998, 1st |contribution=Preface |contributor-first=Charles |contributor-last=Geschke |contributor-link=Charles Geschke |url-access=registration |url=https://archive.org/details/postscriptlangua00adobrich}} (NB. This book is informally called "blue book" due to its blue cover.)</ref> <ref name="Adobe_PLRM3">{{cite book |title=PostScript Language Reference Manual |edition=1st printing, 3rd |date=February 1999 |orig-date=1985 |isbn=0-201-37922-8 |author=Adobe Systems Incorporated |author-link=Adobe Systems Incorporated |publisher=[[Addison-Wesley Publishing Company]] |url=https://www.adobe.com/products/postscript/pdfs/PLRM.pdf |access-date=2017-02-18 |url-status=live |archive-url=https://web.archive.org/web/20170218093716/https://www.adobe.com/products/postscript/pdfs/PLRM.pdf |archive-date=2017-02-18}} (NB. This book is informally called "red book" due to its red cover.)</ref> <ref name="Born_2001_WKS">{{cite book |title=Dateiformate – Eine Referenz – Tabellenkalkulation, Text, Grafik, Multimedia, Sound und Internet |language=de |trans-title=File formats – a reference – spreadsheets, text, graphics, multimedia, sound and internet |author-first=Günter |author-last=Born |author-link=:de:Günter Born |date=December 2000 |publisher=[[:de:Galileo Computing|Galileo Computing]] |chapter=Kapitel 1. LOTUS 1-2-3-Format (WKS/WK1) |trans-chapter=Chapter 1. Lotus 1-2-3 WKS/WK1 format |location=Bonn, Germany |isbn=3-934358-83-7 |url=http://www.aboutvb.de/bas/formate/pdf/wks.pdf |access-date=2016-11-28 |url-status=live |archive-url=https://web.archive.org/web/20161129191803/http://www.aboutvb.de/bas/formate/pdf/wks.pdf |archive-date=2016-11-29}}</ref> <ref name="Born_2001_WK3">{{cite book |title=Dateiformate – Eine Referenz – Tabellenkalkulation, Text, Grafik, Multimedia, Sound und Internet |language=de |trans-title=File formats – a reference – spreadsheets, text, graphics, multimedia, sound and internet |author-first=Günter |author-last=Born |author-link=:de:Günter Born |date=December 2000 |publisher=[[:de:Galileo Computing|Galileo Computing]] |chapter=Kapitel 2. LOTUS 1-2-3-Format (WK3) |trans-chapter=Chapter 2. Lotus 1-2-3 WK3 format |location=Bonn, Germany |isbn=3-934358-83-7 |url=http://www.aboutvb.de/bas/formate/pdf/wk3.pdf |access-date=2016-11-28 |url-status=live |archive-url=https://web.archive.org/web/20161129183043/http://www.aboutvb.de/bas/formate/pdf/wk3.pdf |archive-date=2016-11-29}}</ref> <ref name="Feichtinger_1987">{{cite book |author-first=Herwig |author-last=Feichtinger |title=Arbeitsbuch Mikrocomputer |language=de |location=Munich, Germany |publisher=[[Franzis-Verlag GmbH]] |isbn=3-7723-8022-0 |date=1987 |edition=2 |pages=427–428}} (NB. According to this book, a 4 KB compiler was available from [[Lifeboat Software]] for [[CP/M]].)</ref> <ref name="Wostrack_1989">{{cite book |title=RPNL. Eine FORTH ähnliche Sprache mit strukturunterstützenden Sprachkonstrukten |language=de |author-first=Gustav |author-last=Wostrack |publisher=Wolf-Detlef Luther, Gens |date=January 1989 |isbn=978-3-88707022-9}}</ref> <ref name="Hamblin_1962">{{cite journal |author-first=Charles Leonard |author-last=Hamblin |author-link=Charles Leonard Hamblin |date=1962-11-01 |title=Translation to and from Polish notation |journal=[[Computer Journal]] |volume=5 |issue=3 |pages=210–213 |doi=10.1093/comjnl/5.3.210 |doi-access=free |url=https://watermark.silverchair.com/5-3-210.pdf?token=AQECAHi208BE49Ooan9kkhW_Ercy7Dm3ZL_9Cf3qfKAc485ysgAAAsYwggLCBgkqhkiG9w0BBwagggKzMIICrwIBADCCAqgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMqgrWehLt3Q-vndNgAgEQgIICeS9dAMLeq1AKBwrDN5TQY4gNgYDbjJ5TgZIWaINiDgof7kP40GMNOaOAJKG_fk3O3n0hphWohj0964P0lCTTGaBHL8qeej_r1vwugGCx8J0jiQbGpEMX0ujPrsUo_AKgFkE4sUk_9MWZ2gobDpNP1kZ-akNB0R_87g5zmCRSwFnUgjRC6t45kCf4zsq4xPTYkL1QCQNXdePk3WmarvEwgeCzvP8onePqPBlKtDZK5ZC6XUq6Q4T3IIikvJoEUwyxn7OW2s-_h3C6CKGxztBiTMy9au1PeH1aKV7t5V_LWhGqP9Xe2LzhZ2hTMA5iCcoMkbMWhZiOq65FOSajlzw3_1ivADCs5zMCzD_SXhKtDCQQuRFJmnXBGPzA89QcUcHhtdZlFkaA16p7dWv7SJ0Wkg0_mwxyGoL3jwZNQmtTiV2Uzv_aC2fmFpI6gPiDnBMwgpslWy8UHU4bhT7mTzbBPwGbHZcuIzN7bApBRAZbu6yWWuftwgDZiKU9XUciDucNnNiCWd8bhVW9i_g-rS6SEAHtfsQ9A-ghgTOCPXEN2f7dZT9HD9BSuhvKWPKoYeFYx67Xn1CbMDpKZnOb2qPgssbSZDoGhVVjTrirBakr8TKjEJMrDz53Sf5qRlPLOARYwbzTD48hk5YDJX4dPPoO3lJ2Uepe5-GlMmCv5rAyHwaA9DzxQ7_7fidTQU6EfqXGwgehQwBQsaU2T0zKOikANeFIZ2pEskKqffFftVgy345S0j_p7z60_39YZHEiX7wA-hssZq_BUaE8rDXWuU8y6MQ4DATET83QkyKa7e7rupJ6zZ-hOLLPmyN7GCfUovWBqOcjrR_a_GJozQ |url-status=dead |archive-url=https://web.archive.org/web/20221020172114/https://watermark.silverchair.com/5-3-210.pdf?token=AQECAHi208BE49Ooan9kkhW_Ercy7Dm3ZL_9Cf3qfKAc485ysgAAAsYwggLCBgkqhkiG9w0BBwagggKzMIICrwIBADCCAqgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMqgrWehLt3Q-vndNgAgEQgIICeS9dAMLeq1AKBwrDN5TQY4gNgYDbjJ5TgZIWaINiDgof7kP40GMNOaOAJKG_fk3O3n0hphWohj0964P0lCTTGaBHL8qeej_r1vwugGCx8J0jiQbGpEMX0ujPrsUo_AKgFkE4sUk_9MWZ2gobDpNP1kZ-akNB0R_87g5zmCRSwFnUgjRC6t45kCf4zsq4xPTYkL1QCQNXdePk3WmarvEwgeCzvP8onePqPBlKtDZK5ZC6XUq6Q4T3IIikvJoEUwyxn7OW2s-_h3C6CKGxztBiTMy9au1PeH1aKV7t5V_LWhGqP9Xe2LzhZ2hTMA5iCcoMkbMWhZiOq65FOSajlzw3_1ivADCs5zMCzD_SXhKtDCQQuRFJmnXBGPzA89QcUcHhtdZlFkaA16p7dWv7SJ0Wkg0_mwxyGoL3jwZNQmtTiV2Uzv_aC2fmFpI6gPiDnBMwgpslWy8UHU4bhT7mTzbBPwGbHZcuIzN7bApBRAZbu6yWWuftwgDZiKU9XUciDucNnNiCWd8bhVW9i_g-rS6SEAHtfsQ9A-ghgTOCPXEN2f7dZT9HD9BSuhvKWPKoYeFYx67Xn1CbMDpKZnOb2qPgssbSZDoGhVVjTrirBakr8TKjEJMrDz53Sf5qRlPLOARYwbzTD48hk5YDJX4dPPoO3lJ2Uepe5-GlMmCv5rAyHwaA9DzxQ7_7fidTQU6EfqXGwgehQwBQsaU2T0zKOikANeFIZ2pEskKqffFftVgy345S0j_p7z60_39YZHEiX7wA-hssZq_BUaE8rDXWuU8y6MQ4DATET83QkyKa7e7rupJ6zZ-hOLLPmyN7GCfUovWBqOcjrR_a_GJozQ |archive-date=2022-10-20}} (4 pages)</ref> <ref name="Burks_1954">{{cite journal |doi=10.2307/2001990 |jstor=2001990 |title=An Analysis of a Logical Machine Using Parenthesis-Free Notation |journal=Mathematical Tables and Other Aids to Computation |volume=8 |issue=46 |pages=53–57 |date=1954 |author-last1=Burks |author-first1=Arthur Walter |author-link1=Arthur Walter Burks |author-last2=Warren |author-first2=Don W. |author-last3=Wright |author-first3=Jesse B.}}</ref> <ref name="McBurney_2008_1">{{cite web |title=Charles L. Hamblin: Computer Pioneer |author-first=Peter |author-last=McBurney |date=2008-07-27 |url=http://www.csc.liv.ac.uk/~peter/this-month/this-month-3-030303.html |url-status=dead |archive-url=https://web.archive.org/web/20081207005233/http://www.csc.liv.ac.uk/~peter/this-month/this-month-3-030303.html |archive-date=2008-12-07 |quote=[…] [[Charles Leonard Hamblin|Hamblin]] soon became aware of the problems of (a) computing mathematical formulae containing brackets, and (b) the memory overhead in having dealing with memory stores each of which had its own name. One solution to the first problem was [[Jan Łukasiewicz]]'s Polish notation, which enables a writer of mathematical notation to instruct a reader the order in which to execute the operations (e.g. addition, multiplication, etc) without using brackets. Polish notation achieves this by having an operator (+, ×, etc) precede the operands to which it applies, e.g., +ab, instead of the usual, a+b. Hamblin, with his training in formal logic, knew of Lukasiewicz's work. […]}}</ref> <ref name="McBurney_2008_2">{{cite web |title=Charles L. Hamblin and his work |date=2008-12-06 |author-first=Peter |author-last=McBurney |url=http://www.csc.liv.ac.uk/~peter/hamblin.html |url-status=dead |archive-url=https://web.archive.org/web/20081206093044/http://www.csc.liv.ac.uk/~peter/hamblin.html |archive-date=2008-12-06}}</ref> <ref name="Kasprzyk-Drury-Bialas_1979">{{cite journal |title=Human behaviour and performance in calculator use with Algebraic and Reverse Polish Notation |author-first1=Dennis Michael |author-last1=Kasprzyk |author-first2=Colin G. |author-last2=Drury |author-first3=Wayne F. |author-last3=Bialas |location=Department of Industrial Engineering, [[State University of New York at Buffalo]], Amherst, New York, USA |journal=[[Ergonomics (journal)|Ergonomics]] |issn=0014-0139 |eissn=1366-5847 |publisher=[[Taylor & Francis]] |volume=22 |issue=9 |date=1979 |orig-date=1978-09-25 |doi=10.1080/00140137908924675 |s2cid=62692402 |pages=1011–1019}} (9 pages)</ref> <ref name="Hoffman_1994">{{cite journal |title=Calculator logic: when and why is RPN superior to algebraic? |author-first1=Errol |author-last1=Hoffman |author-first2=Patrick |author-last2=Ma |author-first3=Jason |author-last3=See |author-first4=Chee Kee |author-last4=Yong |author-first5=Jason |author-last5=Brand |author-first6=Matthew |author-last6=Poulton |journal=[[Applied Ergonomics]] |issn=0003-6870 |eissn=1872-9126 |volume=25 |issue=5 |date=1994 |publisher=[[Elsevier Science Ltd.]] |doi=10.1016/0003-6870(94)90048-5 |pages=327–333}}</ref> <ref name="NewApproach">{{cite conference |title=The Burroughs B 5000 Conference - OH 98 |editor-first1=Bernard A. |editor-last1=Galler |editor-first2=Robert F. |editor-last2=Rosin |date=1986 |orig-date=1985-09-06 |location=Marina Del Ray Hotel, Marina Del Ray, California, USA |publisher=Charles Babbage Institute, The Center for the History of Information Processing, University of Minnesota, Minneapolis, USA |url=http://conservancy.umn.edu/bitstream/107105/1/oh098b5c.pdf |access-date=2013-02-27 |url-status=dead |archive-url=https://web.archive.org/web/20120422070048/http://conservancy.umn.edu/bitstream/107105/1/oh098b5c.pdf |archive-date=2012-04-22}} A New Approach to the Design of a Digital Computer (1961)</ref> <ref name="B5000_1985">{{cite web |title=The Burroughs B5000 Conference (1985) |date=17 June 2023 |page=49 |url=http://special.lib.umn.edu/cbi/oh/pdf.phtml?id=21}}</ref> <ref name="Friden_EC-130">{{cite web |title=Friden EC-130 Electronic Calculator |date=2020-08-09 |website=www.oldcalculatormuseum.com |url=http://www.oldcalculatormuseum.com/friden130.html |access-date=2018-03-21 |url-status=live |archive-url=https://web.archive.org/web/20221020175311/https://www.oldcalculatormuseum.com/friden130.html |archive-date=2022-10-20}}</ref> <ref name="Friden_EC-132">{{cite web |title=Friden EC-132 Electronic Calculator |date=2022-07-15 |website=www.oldcalculatormuseum.com |url=http://www.oldcalculatormuseum.com/friden132.html |access-date=2018-03-21 |url-status=live |archive-url=https://web.archive.org/web/20221020175254/https://www.oldcalculatormuseum.com/friden132.html |archive-date=2022-10-20}}</ref> <ref name="HP_Calc">{{cite web |title=HP Calculators |url=http://www8.hp.com/us/en/products/calculators/index.html}}</ref> <ref name="HP_Evolves">{{cite journal |title=HP RPN Evolves |author-first=Richard J. |author-last=Nelson |journal=HP Solve |publisher=[[Hewlett-Packard Development Company, L.P.]] |date=April 2012 |number=27 |pages=42–45 |url=http://h20331.www2.hp.com/hpsub/downloads/S07%20HP%20RPN%20Evolves%20V5b.pdf |access-date=2022-10-20 |url-status=live |archive-url=https://web.archive.org/web/20221020173134/http://h20331.www2.hp.com/hpsub/downloads/S07%20HP%20RPN%20Evolves%20V5b.pdf |archive-date=2022-10-20}} [http://h20331.www2.hp.com/hpsub/downloads/HP_Calculator_eNL_04_April_2012%2520(2).pdf] (4 of 56 pages)</ref> <ref name="RE_1972">{{cite magazine |title=A new standard!... The 7400 scientific & engineering calculator |type=Advertisement |magazine=[[Radio-Electronics]] - For men with ideas in electronics |date=December 1972 |volume=43 |issue=12 |publisher=[[Gernsback Publications, Inc.]] |publication-place=New York, USA |page=17 |url=https://worldradiohistory.com/Archive-Radio-Electronics/70s/1972/Radio-Electronics-1972-12.pdf |access-date=2022-12-28 |url-status=live |archive-url=https://web.archive.org/web/20221228161558/https://worldradiohistory.com/Archive-Radio-Electronics/70s/1972/Radio-Electronics-1972-12.pdf |archive-date=2022-12-28 |quote-page=17 |quote=DATA STORAGE: 2 Auxiliary Storage Registers plus up to 7 push-up Stack Registers. […] 7400A 3 Registers Kit $299.95 Assembled $379.95 […] 7400B 5 Registers Kit $319.95 Assembled $399.95 […] 7400C 7 Registers Kit $339.95 Assembled $419.95}}</ref> <ref name="Berger_1973">{{cite journal |title=New calculator kits: From pocket minis to versatile desk models |author-first=Ivan |author-last=Berger |journal=[[Popular Mechanics]] |publisher=[[Hearst Magazines]] |date=May 1973 |page=152 |url=https://books.google.com/books?id=htQDAAAAMBAJ&pg=PA151 |access-date=2017-04-29}}</ref> <ref name="MITS7400">{{cite web |title=MITS 7400 Scientific/Engineering Calculator |url=http://www.oldcalculatormuseum.com/w-mits7400.html |access-date=2017-04-30 |url-status=live |archive-url=https://web.archive.org/web/20170430004710/http://www.oldcalculatormuseum.com/w-mits7400.jpg |archive-date=2017-04-30}} (NB. Shows a photo of the [[MITS 7400]], but the text erroneously refers to the later algebraic [[MITS 7440|7440]] model instead of the [[MITS 7400A|7400A]]/[[MITS 7400B|B]]/[[MITS 7400C|C]] models.)</ref> <ref name="Commodore_SR4921R">{{cite book |title=SR4921 RPN Reverse Notation Scientific Calculator Instruction Manual |publisher=[[Commodore Business Machines, Inc.]] |date= |location=Palo Alto, California, USA |url=http://www.wass.net/manuals/Commodore%20SR4921R.pdf |access-date=2022-10-16 |url-status=live |archive-url=https://web.archive.org/web/20170625231745/http://www.wass.net/manuals/Commodore%20SR4921R.pdf |archive-date=2017-06-25}}</ref> <ref name="Prinztronic">{{cite web |title=Prinztronic Program |website=www.vintagecalculators.com |url=http://www.vintagecalculators.com/html/program.html |access-date=21 March 2018}}</ref> <ref name="Elektronika_B3-21">[http://www.rskey.org/detail.asp?manufacturer=Elektronika&model=B3-21 Elektronika B3-21] page on RSkey.org</ref> <ref name="Elektronika_MK-161">[http://www.rskey.org/detail.asp?manufacturer=Elektronika&model=MK-161 Elektronika MK-161] page on RSkey.org</ref> <ref name="Elektronika_MK-61">{{cite web |url=http://arbinada.com/pmk/node/56 |title=Elektronika MK-61/52 and 152/161: small tech review (En) - Кон-Тики |website=arbinada.com |access-date=2018-03-21}}</ref> <ref name="SEMICO">{{cite web |url=http://mk.semico.ru/ |title=НПП СЕМИКО - вычислительная техника и устройства автоматизации |website=mk.semico.ru |access-date=2018-03-21}}</ref> <ref name="Wilkins">{{cite web |url=http://lashwhip.com/grpn.html |title=Katharina & Paul Wilkins' Home Page |website=lashwhip.com |access-date=2018-03-21}}</ref> <ref name="GTK">{{cite web |url=http://galculator.mnim.org/ |title=galculator - a GTK 2 / GTK 3 algebraic and RPN calculator |website=galculator.mnim.org |access-date=2024-01-05}}</ref> <ref name="rpCalc">{{cite web |url=https://rpcalc.bellz.org/ |title=rpCalc |website=rpcalc.bellz.org |access-date=2024-01-05}}</ref> <ref name="Schrijver">{{cite web |url=http://www.stack-calculator.com/ |title=Home - mouseless Stack-Calculator |first=Frans |last=Schrijver |website=www.stack-calculator.com |access-date=2018-03-21}}</ref> <ref name="HP9100A_1968">{{cite web |title=hp 9100A Calculator |type=marketing brochure |date=1968 |publisher=[[Hewlett-Packard]] |pages=8–10 |url=http://archive.computerhistory.org/resources/text/HP/HP.9100A.1968.102646164.pdf |access-date=2013-01-26 |url-status=live |archive-url=https://web.archive.org/web/20211022222725/http://archive.computerhistory.org/resources/text/HP/HP.9100A.1968.102646164.pdf |archive-date=2021-10-22}}</ref> <ref name="HP15C_2011">{{cite book |title=Hewlett-Packard HP-15C Owner's Handbook |chapter=Section 3: The Automatic Memory Stack, LAST X, and Data Storage |publisher=[[Hewlett-Packard Development Company, LP.]] |date=September 2011 |version=2.4 |id=00015-90001 |pages=32–46 |url=http://www.hp.com/ctg/Manual/c03030589.pdf |access-date=2015-12-05 |url-status=live |archive-url=https://web.archive.org/web/20170917224935/http://www.hp.com/ctg/Manual/c03030589.pdf |archive-date=2017-09-17}}</ref> <ref name="Ceruzzi_1980">{{cite journal |title=1941 RPN Computer? |author-first=Paul E. |author-last=Ceruzzi |author-link=Paul E. Ceruzzi |journal=[[PPC Calculator Journal]] |date=April 1980 |volume=7 |number=3 |page=25 |url=https://www.hpcalc.org/hp48/docs/columns/1941rpn.html |access-date=2022-07-01 |url-status=live |archive-url=https://web.archive.org/web/20220701172806/https://www.hpcalc.org/hp48/docs/columns/1941rpn.html |archive-date=2022-07-01 |quote-page=25 |quote=The interesting aspect of the programming of the [[Z3 (computer)|Z-3]] was that this code was very similar to that of, say, an [[HP-25]]. To perform an operation on two numbers, commands would first be given to recall the numbers from appropriate locations in the memory, followed by the command for the operation. Numbers were automatically positioned in registers in the Arithmetic Unit of the machine so that operations like division and subtraction would proceed in the right order. Results were left in a register in the AU so that long sequences of operations could be carried out. Thus, the Z-3 used a version of RPN that was nearly identical to that used by HP! I have obtained copies of early programs that Zuse had written for the evaluation of a 5 × 5 determinant, and it is possible to run these programs on an [[HP-41C]] with almost no modification whatsoever (once the numbers have been placed in the storage registers beforehand). The AU of the Z-3 contained 3 registers, although Zuse never referred to them as a stack, of course. These registers were labelled "f", "a", and "b". All entrance and exit to and from the AU was through the "f" register. This is sort of like the display register of the 41C, which is distinct from the stack. Arithmetic operations were performed on numbers in the a and b registers, so these may be thought of as corresponding to the x and y registers of HP's. Unlike modern computer practice, the actual numbers themselves were moved around the registers, not just a pointer.}}</ref> <ref name="Ceruzzi_1983">{{cite book |title=Reckoners - The prehistory of the digital computer, from relays to the stored program concept, 1935–1945 |author-first=Paul E. |author-last=Ceruzzi |author-link=Paul E. Ceruzzi |series=Contributions to the study of computer science |issn=0734-757X |volume=1 |date=1983 |lccn=82-20980 |isbn=0-313-23382-9 |publisher=[[Greenwood Press]], Congressional Information Service, Inc. |publication-place=Westport, Connecticut, USA |edition=1 <!--|magazine=Annals of the History of Computing |date=1981 |publisher=American Federation of Information Processing Societies --> |page=0010 |chapter=2. Computers in Germany |url=http://ed-thelen.org/comp-hist/Reckoners.html#TOC |chapter-url=http://ed-thelen.org/comp-hist/Reckoners-ch-2.html |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20220701223948/http://ed-thelen.org/comp-hist/Reckoners-ch-2.html |archive-date=2022-07-01}}</ref> <ref name="parTU_2000">{{cite magazine |title=Rechenhilfe für Ingenieure |language=de |publisher=[[Technische Universität Berlin]] |magazine=Alumni-Magazin der Technischen Universität Berlin |volume=2 |number=3 |date=December 2000 |url=http://www2.tu-berlin.de/alumni/parTU/00dez/zuse.htm |url-status=dead |archive-url=https://web.archive.org/web/20090213222711/http://www2.tu-berlin.de/alumni/parTU/00dez/zuse.htm |archive-date=2009-02-13}}</ref> <ref name="Zuse_2005">{{cite conference |conference=INFORMATIK 2005 Informatik LIVE! Band 1, Beiträge der 35. Jahrestagung der Gesellschaft für Informatik e.V. (GI), 19. bis 22. September 2005 in Bonn |title=Die ergonomischen Erfindungen der Zuse-Maschinen |language=de |chapter=2. Dialogfähigkeit der Maschine Z3 |series=Lecture Notes in Informatics |author-first=Horst |author-last=Zuse |author-link=Horst Zuse |editor-first1=Armin B. |editor-last1=Cremers |editor-first2=Rainer |editor-last2=Manthey |editor-first3=Peter |editor-last3=Martini |editor-first4=Volker |editor-last4=Steinhage |location=Berlin, Germany |publisher=[[Gesellschaft für Informatik]] (GI) |publication-place=Bonn, Germany |pages=200–204 [200–201] |url=https://subs.emis.de/LNI/Proceedings/Proceedings67/GI-Proceedings.67-42.pdf |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20220701225356/https://subs.emis.de/LNI/Proceedings/Proceedings67/GI-Proceedings.67-42.pdf |archive-date=2022-07-01 |quote-page=201 |quote=Dazu stehen die beiden Register R1 und R2 als Kurzspeicher für die Operanden der arithmetischen Operationen zur Verfügung. Gerechnet wird in der umgekehrten polnischen Notation, wie z.B. beim Taschenrechner [[HP-45|HP 45]] (1972) oder [[HP-11|HP11]] (1998).}} (5 pages)</ref> <ref name="Zuse_2008">{{cite web |title=Z3 im Detail |language=de |trans-title=Z3 in details |editor-first=Horst |editor-last=Zuse |editor-link=Horst Zuse |date=2008-02-22 |work=Professor Dr.-Ing. habil. Horst Zuse |url=http://www.horst-zuse.homepage.t-online.de/z3-detail.html |access-date=2022-07-01 |url-status=live |archive-url=https://web.archive.org/web/20220701173220/http://www.horst-zuse.homepage.t-online.de/z3-detail.html |archive-date=2022-07-01 |quote=Die Z3 konnte in zwei Betriebsmodi betrieben werden, und zwar in dem Programm- und Dialogmodus. Das Rechnen im Dialog erfolgt wie mit einem Taschenrechner in der umgekehrten polnischen Notation.}} [https://web.archive.org/web/20220701173354/http://www.horst-zuse.homepage.t-online.de/foto-scout-zuse-internet-html/fsz-readme-1.pdf<!-- http://www.horst-zuse.homepage.t-online.de/foto-scout-zuse-internet-html/fsz-readme-1.pdf -->]</ref> <ref name="Bonten_2009">{{cite web |title=Fast Calculators: Konrad Zuse's Z1 and Z3 |author-first=Jo H. M. |author-last=Bonten |location=Geldrop, Netherlands |date=2009-05-28 |orig-date=2009-03-08 |url=http://home.kpn.nl/jhm.bonten/computers/bitsandbytes/wordsizes/crayzuse.htm |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20220701230722/http://home.kpn.nl/jhm.bonten/computers/bitsandbytes/wordsizes/crayzuse.htm |archive-date=2022-07-01 |quote=The computer can be used as a simple hand-held calculator. In this mode besides entering the numeric values the user must enter the instructions and the addresses by pressing their keys. He has to enter the numbers and operators in the reverse Polish notation.}}</ref> <ref name="DHM_2013">{{cite web |title=An einem 12. Mai |language=de |publisher=[[Deutsches Historisches Museum]] (German Historical Museum) |url=http://www.dhm.de/gaeste/luise/tagesfakten/tf05/0512.htm |url-status=dead |archive-url=https://web.archive.org/web/20130530040033/http://www.dhm.de/gaeste/luise/tagesfakten/tf05/0512.htm |archive-date=2013-05-30}}</ref> <ref name="Bundesmann_2016">{{cite magazine |title=Zum 75. Geburtstag von Konrad Zuses Z3: Ratterkasten |author-first=Jan |author-last=Bundesmann |language=de |magazine=[[iX (magazine)|iX]] |publisher=[[Heise Verlag]] |issue=6 |volume=2016 |date=June 2016 |department=Report / Jubiläum |page=94 |url=https://www.heise.de/select/ix/2016/6/1464579381888967#literaturverzeichnis |access-date=2022-07-01 |url-status=live |archive-url=https://web.archive.org/web/20220701174549/https://www.heise.de/select/ix/2016/6/1464579381888967#literaturverzeichnis |archive-date=2022-07-01 |quote-page=94 |quote=Zum Eingeben der Zahlen stand eine Tastatur bereit (Dezimalzahlen, Gleitkommadarstellung). Anweisungen gaben Nutzer in umgekehrter polnischer Notation: zuerst die Argumente, um Register zu befüllen, dann der auszuführende Operator.}}</ref> <ref name="WDF_2018">{{cite magazine |title=Die Computerwelt von Konrad Zuse - Auf den Spuren eines EDV-Genies |language=de |magazine={{ill|Welt der Fertigung|de}} |issn=2194-9239 |department=Die Welt der technischen Museen |volume=2018 |number=2 |date=2018 |pages=32–35 |url=https://www.weltderfertigung.de/assets/konrad-zuse-museum.pdf |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20191017185004/http://weltderfertigung.de/assets/konrad-zuse-museum.pdf |archive-date=2019-10-17 |quote-pages=32–33 |quote=Er hat wohl auch als erster die vom polnischen Mathematiker [[Jan Lukasiewicz]] entwickelte ›[[Polish notation|polnische Notation]]‹ weiterentwickelt und daraus die ›umgekehrte polnische Notation‹ (UPN) ersonnen, da diese in seinen Rechnern verwendet wird: zunächst werden die Werte eingegeben, danach die gewünschte Rechenoperation ausgelöst. Klammern werden auf diese Weise vermieden.}} (4 pages)</ref> <ref name="Tremmel_2021">{{cite magazine |title=Computergeschichte: Zuse Z3 "im Test" |date=2021-11-21 |magazine=[[c't magazin]] |publisher=[[Heise Verlag]] |author-first=Sylvester |author-last=Tremmel |page= |url=https://www.heise.de/tests/Comnputergeschichte-Zuse-Z3-im-Test-6275272.html |access-date=2022-07-01 |url-status=live |archive-url=https://web.archive.org/web/20220301130344/https://www.heise.de/tests/Comnputergeschichte-Zuse-Z3-im-Test-6275272.html |archive-date=2022-03-01 |quote-page= |quote=Über die I/O-Einheit kann man die [[Z3 (computer)|Z3]] als reine Rechenmaschine einsetzen, Operationen nimmt sie dann in der praktischen – wenn auch gewöhnungsbedürftigen – umgekehrten polnischen Notation entgegen. Werte im Speicher ablegen (oder von dort laden) kann man so allerdings nicht.}}</ref> <ref name="Dietrich_2019">{{cite journal |author-last=Dietrich |author-first=Johannes W. |title=TRURL RPN Engine |journal=Zenodo |date=2019-07-24 |doi=10.5281/zenodo.3257689 |url=https://zenodo.org/record/3350851 |access-date=2022-07-02}}</ref> <ref name="Blaauw-Brooks_1997">{{cite book |title=Computer architecture: Concepts and evolution |author-first1=Gerrit Anne |author-last1=Blaauw |author-link1=Gerrit Anne Blaauw |author-first2=Frederick Phillips |author-last2=Brooks, Jr. |author-link2=Frederick Phillips Brooks |publisher=[[Addison-Wesley Longman Publishing Co., Inc.]] |publication-place=Boston, Massachusetts, USA |date=1997}}</ref> <ref name="Duncan_1977">{{cite magazine |title=Stack Machine Development: Australia, Great Britain, and Europe |author-first=Fraser George |author-last=Duncan |location=University of Bristol, Bristol, Virginia, USA |magazine=[[Computer (magazine)|Computer]] |id={{CODEN|CPTRB4}} |s2cid=17013010 |doi=10.1109/MC.1977.315873 |issn=0018-9162 |eissn=1558-0814 |publisher= |volume=10 |date=1977-05-01 |issue=5 |pages=50–52 |url=https://csdl-downloads.ieeecomputer.org/mags/co/1977/05/01646485.pdf?Expires=1697369097&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jc2RsLWRvd25sb2Fkcy5pZWVlY29tcHV0ZXIub3JnL21hZ3MvY28vMTk3Ny8wNS8wMTY0NjQ4NS5wZGYiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2OTczNjkwOTd9fX1dfQ__&Signature=xUP0yvim4Anf0nWqRYKhw7EINRBgqttNgyV0fOBmg4jGQU~Uo1eP91Mw2CL34gK18qbzYjWRKwqifo7aVUL2hgxz~ZplAiqNXRqbLpbB4bYfoPiJNJ3x0AJmfERxcIG058YoTI8~uiEhmUNgjJkrfSMbqHwUoqit~4p7xFLfFBqiPau56WqdEngihf8OXuDeUxkMvCPgo2tGnN5GCoGY9-ALYc99IxqY8-ltGpsyauyASyerp42tY7E6r7T~6x75q8mjilSfo~tTpJMTdX2DpGepaobjf9D7MAXWv7iko038yLn8Kp8WxQceX6VX8fM85pPPYapXGK4HrPNnUIGeiw__&Key-Pair-Id=K12PMWTCQBDMDT |access-date=2023-10-15 |url-status=dead |archive-url=https://web.archive.org/web/20231015112418/https://csdl-downloads.ieeecomputer.org/mags/co/1977/05/01646485.pdf?Expires=1697369097&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jc2RsLWRvd25sb2Fkcy5pZWVlY29tcHV0ZXIub3JnL21hZ3MvY28vMTk3Ny8wNS8wMTY0NjQ4NS5wZGYiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2OTczNjkwOTd9fX1dfQ__&Signature=xUP0yvim4Anf0nWqRYKhw7EINRBgqttNgyV0fOBmg4jGQU~Uo1eP91Mw2CL34gK18qbzYjWRKwqifo7aVUL2hgxz~ZplAiqNXRqbLpbB4bYfoPiJNJ3x0AJmfERxcIG058YoTI8~uiEhmUNgjJkrfSMbqHwUoqit~4p7xFLfFBqiPau56WqdEngihf8OXuDeUxkMvCPgo2tGnN5GCoGY9-ALYc99IxqY8-ltGpsyauyASyerp42tY7E6r7T~6x75q8mjilSfo~tTpJMTdX2DpGepaobjf9D7MAXWv7iko038yLn8Kp8WxQceX6VX8fM85pPPYapXGK4HrPNnUIGeiw__&Key-Pair-Id=K12PMWTCQBDMDT |archive-date=2023-10-15}} (3 pages)</ref> <ref name="Allen_1985">{{cite journal |title=Charles Hamblin (1922–1985) |author-first=Murray W. |author-last=Allen |journal=[[Australian Computer Journal]] |publisher=[[Australian Computer Society, Inc.]] |publication-place=Darlinghurst, Australia |issn=0004-8917 |volume=17 |date=1985-11-01 |issue=4 |pages=194–195 |url=https://dl.acm.org/doi/10.5555/7385.7391 |access-date=2023-10-15}} (2 pages)</ref> <ref name="LaForest_2007">{{cite book |title=Second-Generation Stack Computer Architecture |chapter=2.1 Lukasiewicz and the First Generation: 2.1.2 Germany: Konrad Zuse (1910–1995); 2.2 The First Generation of Stack Computers: 2.2.1 Zuse Z4 |author-first=Charles Eric |author-last=LaForest |type=thesis |publisher=[[University of Waterloo]] |location=Waterloo, Canada |date=April 2007 |pages=8, 11 |url=http://fpgacpu.ca/publications/Second-Generation_Stack_Computer_Architecture.pdf |access-date=2022-07-02 |url-status=live |archive-url=https://web.archive.org/web/20220120155616/http://fpgacpu.ca/publications/Second-Generation_Stack_Computer_Architecture.pdf |archive-date=2022-01-20}} (178 pages)</ref> <ref name="Rojas_1997">{{cite journal |title=Konrad Zuse's Legacy: The Architecture of the Z1 and Z3 |author-last=Rojas |author-first=Raúl |author-link=Raúl Rojas |journal=[[IEEE Annals of the History of Computing]] |volume=19 |number=2 |date=April–June 1997 |pages=5–16 [7–8] |doi=10.1109/85.586067 |url=http://ed-thelen.org/comp-hist/Zuse_Z1_and_Z3.pdf |access-date=2022-07-03 |url-status=live |archive-url=https://web.archive.org/web/20220703082408/http://ed-thelen.org/comp-hist/Zuse_Z1_and_Z3.pdf |archive-date=2022-07-03}} (12 pages)</ref> <ref name="RPLMAN">{{cite web |title=RPLMan from Goodies Disk 4 |author=Hewlett-Packard |author-link=Hewlett-Packard |format=RPLMAN.ZIP |url=http://www.hpcalc.org/details.php?id=1743<!-- http://www.hpcalc.org/hp48/docs/programming/rplman.zip--> |access-date=2015-09-12}}</ref> <ref name="Wickes_1987">{{cite journal |title=The HP-28C: An Insider's Perspective |author-first=William C. |author-last=Wickes |journal=HPX Exchange |volume=1 |number=1 |date=January–February 1987 |pages= |url=}} [https://web.archive.org/web/20231006184209/https://www.hpmuseum.org/forum/thread-1140.html]</ref> <ref name="Williams_2023">{{cite web |title=In Praise Of RPN (with Python Or C) |author-first=Al |author-last=Williams |date=2023-06-21 |work=Hackaday |url=https://hackaday.com/2023/06/21/in-praise-of-rpn-with-python-or-c/ |access-date=2023-09-23 |url-status=live |archive-url=https://web.archive.org/web/20230923090403/https://hackaday.com/2023/06/21/in-praise-of-rpn-with-python-or-c/ |archive-date=2023-09-23}}</ref> <ref name="HP9100A_1998">{{cite web |title=HP 9100A/B |date=1998 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/hp9100.htm |access-date=2023-09-23 |url-status=live |archive-url=https://web.archive.org/web/20230923125424/https://www.hpmuseum.org/hp9100.htm |archive-date=2023-09-23}}</ref> <ref name="Wessman_2016">{{cite web |title=What to do with stack overflow OBJ->/LIST->? |author-first=Timothy "Tim" James |author-last=Wessman |date=2016-06-21 |orig-date=2016-06-20 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/forum/printthread.php?tid=6436 |access-date=2023-09-24 |url-status=live |archive-url=https://web.archive.org/web/20230924101041/https://www.hpmuseum.org/forum/printthread.php?tid=6436 |archive-date=2023-09-24}}</ref> <ref name="Paul_2015">{{cite web |title=[34S] Proposal for Entry RPN mode with dynamic stack |author-first=Matthias R. |author-last=Paul |date=2015-02-18 |orig-date=2015-02-15 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/forum/thread-3108.html |access-date=2023-09-24 |url-status=live |archive-url=https://web.archive.org/web/20230923202314/https://www.hpmuseum.org/forum/thread-3108.html |archive-date=2023-09-23}}</ref> <ref name="Bit_2014">{{cite web |title=Bit's WP 34S and 31S patches and custom binaries (version: r3802 20150805-1) |author=Bit |date=2014-11-15 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/forum/thread-2433.html |access-date=2023-09-24 |url-status=live |archive-url=https://web.archive.org/web/20230924153615/https://www.hpmuseum.org/forum/thread-2433.html |archive-date=2023-09-24}}</ref> <ref name="Bit_2015">{{cite web |title=[34S & 31S] Unique display mode: significant figures |author=Bit |date=2015-02-07 |work=MoHPC - The Museum of HP Calculators |url=https://www.hpmuseum.org/forum/thread-3029.html |access-date=2023-09-24 |url-status=live |archive-url=https://web.archive.org/web/20230924153537/https://www.hpmuseum.org/forum/thread-3029.html |archive-date=2023-09-24}}</ref> <ref name="TKE_1976">{{cite web |title=Everything you've always wanted to know about RPN but were afraid to pursue – Comprehensive manual for scientific calculators – Corvus 500 – APF Mark 55 – OMRON 12-SR and others |publisher=T. K. Enterprises |date=1976 |url=http://www.wass.net/manuals/Everything%20RPN.pdf |access-date=2017-06-24 |url-status=live |archive-url=https://web.archive.org/web/20170624162722/http://www.wass.net/manuals/Everything%20RPN.pdf |archive-date=2017-06-24}} (NB. The book's cover title contains a typographical error reading "APS Mark 55" instead of the correct "APF Mark 55".)</ref> <ref name="ARPCalc">{{cite web | url=https://www.cgtk.co.uk/software/arpcalc | title=CGTK - ARPCalc - Al's Reverse Polish Calculator }}</ref> }} == Further reading == * {{cite web |author-last=Brown |author-first=Bob |date=2015-06-05 |orig-date=April 2001 |title=Postfix Notation Mini-Lecture |publisher=Information Technology Department, College of Computing and Software Engineering, [[Kennesaw State University]]|url=http://bbrown.kennesaw.edu/web_lectures/postfix/<!-- http://spsu.bob-brown.us/web_lectures/postfix/ --> |access-date=2015-09-12 |url-status=live |archive-url=https://web.archive.org/web/20170624164922/http://ksuweb.kennesaw.edu/faculty/rbrow211/web_lectures/postfix/ |archive-date=2017-06-24}} * {{cite web |title=Advanced Calculator Logic HP RPN/Algebraic: A Comparative Analysis |url=http://archive.computerhistory.org/resources/access/text/2016/05/102651973-05-01-acc.pdf |access-date=2022-12-26 |url-status=live |archive-url=https://web.archive.org/web/20221226175054/http://archive.computerhistory.org/resources/access/text/2016/05/102651973-05-01-acc.pdf |archive-date=2022-12-26 |publisher=[[Hewlett-Packard Corporation]] |date=1979 |location=Corvallis, Oregon, USA |id=5953-1930}} (13 pages) * {{cite web |author-last=Hicks |author-first=David G. |date=2013 |orig-date=1995 |title=What is RPN? |publisher=The Museum of HP Calculators (MoHPC) |url=http://hpmuseum.org/rpn.htm |access-date=2015-09-12 |url-status=live |archive-url=https://web.archive.org/web/20170624165003/http://hpmuseum.org/rpn.htm |archive-date=2017-06-24}} * {{cite web |author-last=Klaver |author-first=Hans |date=2023-08-14 |orig-date=2014 |title=RPN Tutorial, incl. some things HP did not tell |url=https://klaverscholten.nl/rpn/index.html |location=Netherlands |access-date=2015-09-12 |url-status=live |archive-url=https://web.archive.org/web/20230923125928/https://klaverscholten.nl/rpn/index.html |archive-date=2023-09-23}} * {{cite journal |author-last=Kreifeldt |author-first=John G. |date=October 1981 |title=Hand Calculator Performance Under Interrupted Operation |location=Department of Engineering Design, Tufts University, Medford, Massachusetts, USA |journal=Proceedings of the Human Factors Society Annual Meeting |volume=25 |number=1 |doi=10.1177/107118138102500187 |pages=329–332|s2cid=106904297 }} (4 pages) * {{cite conference |author-last1=Kreifeldt |author-first1=John G. |author-last2=McCarthy |author-first2=Mary E. |date=1981-10-15 |orig-date=1981-06-16/18 |title=Interruption as a test of the user-computer interface |location=Department of Engineering Design, Tufts University, Medford, Massachusetts, USA |conference=Proceedings of the Seventeenth Annual Conference on Manual Control |publication-place=University of California, Los Angeles, California, USA |publisher=[[Jet Propulsion Laboratory]] / [[Office of Naval Research]] / [[NASA]] |id=02155, N82-13721, 82N13721, 19820005848, JPL 81-95 |pages=655–667 |url=https://ntrs.nasa.gov/api/citations/19820005848/downloads/19820005848.pdf<!-- https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19820005848.pdf http://hdl.handle.net/2060/19820005848 https://ntrs.nasa.gov/search.jsp?R=19820005848 --> |access-date=2018-09-22 |url-status=live |archive-url=https://web.archive.org/web/20220130063534/https://ntrs.nasa.gov/api/citations/19820005848/downloads/19820005848.pdf |archive-date=2022-01-30}} [https://books.google.com/books?id=dHZKAQAAMAAJ] (13 of 702 pages) * {{cite web |author-last=Redin |author-first=James |date=2005-02-12 |orig-date=1997-10-05 |title=RPN or DAL? A brief analysis of Reverse Polish Notation against Direct Algebraic Logic |url=http://www.xnumber.com/xnumber/rpn_or_adl.htm |access-date=2015-09-12 |url-status=live |archive-url=https://web.archive.org/web/20170624164945/http://www.xnumber.com/xnumber/rpn_or_adl.htm |archive-date=2017-06-24}} * {{cite book |author-last=Vanderbeek |author-first=Greg |date=July 2007 |title=Order of Operations and RPN |type=Expository paper |series=Master of Arts in Teaching (MAT) Exam Expository Papers |id=Paper 46 |publisher=[[University of Nebraska]] |location=Lincoln, USA |url=https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1045&context=mathmidexppap |access-date=2020-06-14 |url-status=live |archive-url=https://web.archive.org/web/20200614191608/https://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=1045&context=mathmidexppap |archive-date=2020-06-14}} * {{cite web |author-last=Wirth |author-first=Niklaus |author-link=Niklaus Wirth |date=2005-06-15 |orig-date=2005-02-02 |title=Good Ideas, Through the Looking Glass |location=Zürich, Switzerland |url=http://www.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf |access-date=2015-09-12 |url-status=live |archive-url=https://web.archive.org/web/20170624164254/https://www.inf.ethz.ch/personal/wirth/Articles/GoodIdeas_origFig.pdf |archive-date=2017-06-24}} ==External links== * [http://rosettacode.org/wiki/Parsing/RPN_calculator_algorithm Rosettacode.org]<!-- https://web.archive.org/web/20170624165146/https://rosettacode.org/wiki/Parsing/RPN_calculator_algorithm --> providing many implementations in several programming languages. * http://rpn.codeplex.com/ <!-- https://web.archive.org/web/20170624164548/https://rpn.codeplex.com/ -->Implementation of RPN with custom functions support and flexible list of operators. * https://xrjunque.nom.es/ConvertAlg2RPN_RPL.aspx <!-- https://xrjunque.nom.es/ConvertAlg2RPN_RPL.aspx -->Free online Algebraic expression to RPN Converter {{DEFAULTSORT:Reverse Polish Notation}} [[Category:Calculators]] [[Category:Mathematical notation]] [[Category:Science and technology in Poland]] [[Category:Operators (programming)]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Citation
(
edit
)
Template:Cite book
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Excessive citations inline
(
edit
)
Template:Key press
(
edit
)
Template:Main
(
edit
)
Template:Nowrap
(
edit
)
Template:Operator notation sidebar
(
edit
)
Template:Proper name
(
edit
)
Template:Redirect
(
edit
)
Template:Reflist
(
edit
)
Template:Refn
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Use list-defined references
(
edit
)