The '''RPL programming language''' (RPL meaning '''Reverse Polish [[Lisp programming language|LISP]]''' or, alternatively, '''[[read-only memory|ROM]]-based procedural language''') is a [[calculator|handheld calculator]] system and application [[programming language]] used on [[Hewlett-Packard]]'s engineering graphing calculators of the [[HP-28]], [[HP-48]] and [[HP-49]] series.
In its internal low- to- medium-level variant, called '''System RPL''', it is used on some earlier HP calculators as well as the aforementioned ones, as part of their [[operating system]] implementation language (not accessible to the calculator user for customization and programming). The high-level '''User RPL''' version of the language is available on said graphing calculators for developing textual as well as graphical application programs. RPL is a [[structured programming]] language based on [[RPN]] but equally capable of processing algebraic expressions and formulae.
RPL has many similarities to [[Forth programming language|FORTH]], both languages being [[stack (computing)|stack]]-based, and of course the list-based LISP. Contrary to previous HP RPN calculators, which had a fixed four-level stack, the RPL stack is only limited by available calculator memory.