HP 48 シリーズ
RPLについてはRPL (プログラミング言語)を参照
HP 48 シリーズはスタックベースプログラミング言語RPLをサポートしている。RPL (Reverse Polish Lisp) は逆ポーランド記法 (Reverse Polish Notation) とLisp言語を組合せた言葉と考えられる。ただし、実際の文法はForthに似ている。
RPLはスタックベースプログラミング言語にリストと関数の概念を追加しており、評価していないコードを引数として関数に渡すことができる。あるいは、関数が終わる時にスタック上に評価していないコードを置いてそのコードを呼び出し元に返すこともできる。
RPLは2つに分類できる。User RPLとSystem RPLである。
User RPLはユーザーが電卓上で直接プログラミングできる。
System RPLは外部のコンパイラが必要である。このコンパイラはサードパーティのユーティリティを使えば、電卓上で実行できるかもしれないが、通常はPC上で実行する。
2つの言語は低レベルな操作ができるかどうかで異なる。
User RPLは引数チェックをしないコマンドを隠蔽している。その結果として電卓をクラッシュさせることはない(それゆえにSytem RPLよりも低速度である)。
一方でSystem RPLのプログラムが不正な引数でコマンドを実行すると、たいていの場合、電卓がクラッシュし、メモリの完全リセットが必要になる。
HP 48 は機械語で直接プログラムすることも可能である。