Post Reply 
How much LISP is in RPL?
04-22-2014, 01:46 AM
Post: #7
RE: How much LISP is in RPL?
(04-22-2014 01:35 AM)Didier Lachieze Wrote:  Another quote from Bill Wickes:

The HP- 28C project had its origins about 2-1/2 years ago, as the HP-71 application ROM projects were winding down. At that time, the team that had produced the 71 Math and FORTH/Assembler ROMs turned their attention to designing a calculator operating system. We were convinced that the next generation of calculators should support symbolic mathematics-- the ability to use calculator operations on quantities represented by symbols that don’t first have to be converted to numbers.
After some study, it became clear that the HP 71 and the HP 41C operating systems and user languages are unsuited for this purpose, because of their lack of any method of applying functions to unevaluated expressions (programs). Likewise, PC-based systems and languages that support symbolic math are too profligate of ROM and RAM to be practical for a handheld.

In the end, we began developing a new operating system customized for our requirements. This development was completed about a year later, and we turned our attention to the implementation of a symbolic math calculator. Meanwhile, the HP-18C project had begun a parallel development, and became the first product based upon our new operating system. It uses the same internal language and execution logic as the HP-28C, even though its external user interface is quite different. Although the 18C does not provide any symbolic math capability directly to the user, the Solver does perform some rudimentary symbolic manipulations as part of its "direct" solve.

The new operating system and language is based upon a combination of FORTH and LISP and is known informally at HP as "RPL" (for Reverse-Polish LISP). Although FORTH’s rigid memory management and utter lack of user protection make it unsuitable as a calculator language, it happens that its threaded interpretation logic and unlimited data and return stacks are ideal for manipulation and evaluation of symbolic expressions. RPL execution is based on a generalization of the FORTH "inner loop." (in fact, the bit-bangers among you may be interested to know that the Saturn CPU in the new products has a new opcode. PC=(A), to optimize threaded execution)

LISP is the traditional language used for implementation of computer symbolic math. RPL borrow heavily from LISP, particularly in its implementation of list manipulations and lambda variables (local variables in the HP-28C terminology).

The basic user interface of the HP-28C was laid out in a 3-day team meeting that took place in January, 1985, as the operating system development was in its final stages. Formal work on the HP- 28C firmware was begun in May, and completed in June 1986. "

Extract from "The HP-28C: AN INSIDER'S PERSPECTIVE - William C. Wickes, HP-28C Project Manager" , published in HPX Exchange V1N1 January/February 1987.


Thanks for this in-depth history lesson as well!
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
How much LISP is in RPL? - Matt Agajanian - 04-21-2014, 08:58 PM
RE: How much LISP is in RPL? - Matt Agajanian - 04-22-2014 01:46 AM

User(s) browsing this thread: 1 Guest(s)