Introduction to newRPL

newRPL is a modern implementation of the RPL language started near the end of 2013 and is still under development. The motivation for this re-implementation is to preserve the language by making it accessible on modern platforms (an embedded device or a PC).

The goal of the project is to create a fully functional calculator RPL environment that runs natively (as opposed to an emulation or interpreted layer) on the target hardware. Furthermore, newRPL is also designed to be loosely compatible with the RPL language and programs that can be run on the Hewlett Packard 48/49/50g series calculators. The newRPL project (released under the BSD open source license) implements RPL in portable C, and while it was initially targeted for the HP50g calculator hardware, it now runs on a variety of hardware platforms:

In HP calculator parlance there is a distinction between UserRPL and SystemRPL. The former is the language directly accessible to the user of an HP calculator, whereas the latter typically requires external tools and can potentially lead to system crashes. newRPL seeks to implement UserRPL only (SystemRPL was used as a lower level and faster language in the Saturn processor environment or emulation layer).

A typical scenario is to install newRPL on a 50g (which has the ability to replace or flash the operating system ROM). Note that this procedure completely replaces the stock HP50g ROM, so to return the calculator to its original state would require having the HP stock ROM on hand.

newRPL is different from RPL most noticeably in its speed (runs natively on the target hardware), use of 16 level greyscale, and two separate levels of soft menus that are customizable by the user.

If you are coming from the latest stock 50g ROM, it should be noted that newRPL is not designed to re-duplicate all the features of that ROM, but rather just the RPL part. So, for example, you won't find a CAS (Computer Algebra System) in newRPL, nor an equation writer. However, what you will find in newRPL is (ultimately) the 700 or so commands available in the 50g along with some additional commands not found in a 50g.

Here is a list of changes and enhancements from the stock 50g ROM: