We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Reviving Reverse Polish Lisp

Formal Metadata

Title
Reviving Reverse Polish Lisp
Subtitle
Building an open-source HP48-like calculator
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The DB48X project aims at recreating an open-source implementation of Reverse Polish Lisp on modern calculator platforms In 1986, Hewlett-Packard introduced the HP28C, and with it, a new programming language, "Reverse Polish Lisp" (RPL). This was arguably one of the most powerful programming languages ever introduced on a pocket calculator, and it continued well into the 2000's, with the HP50 series. RPL was initially designed for a machine with a 4-bit CPU and 2K of memory, soon upgraded to 32K. Some of the more recent calculators from Hewlett-Packard used ARM CPUs, but then only to emulate the original 4-bit CPU and run the older 4-bit ROM code. Today, several ARM-based calculator platforms support open-source firmware. This opens the possibility to revive RPL in a more modern environment. DB48X is an attempt at recreating RPL from scratch to run on such platforms. Even today, these machines remain minimalistic, with as little as 60K of free memory and less than 1MB of usable Flash storage, for example. This talk will present a design and implementation of a basic RPL runtime written in C++, but replacing the standard C++ object model with a compact, garbage-collected, byte-addressable representation of RPL objects. We will also dive into what RPL is, why it truly deserves the name "Lisp", and why it remains remarkably different from the Lisp most of us are familiar with. We will discuss some of the implemented and planned features for that new iteration of RPL, including built-in on-line help, taking advantage of high-resolution graphics, or making it as efficient as possible in "direct" (non-programmed) mode.