Motivation
The R47 user interface is well organized: the location of a given operation is usually sufficiently obvious that one’s first guess is likely to be the correct one.
Alas, not everything rises to that ideal.
For those cases, one must consult the 🟧 CAT, which is not a ginger feline. 😜
Wisdom
Before I dig into the topic, I want to suggest an operational philosophy: treat the catalog as a last resort. My curated set of entry points into the reference documentation are a better bet for predefined functionality because they may inform you of a shorter path than searching the catalog menus. If you know what to call a given item, use the index cards, and if not, then search the main reference tables for related concept words.
The catalog is best used when sufficiently distant from the nearest web browser that it is the fastest lookup option available to you.
When it comes to user-created items like programs, variables, and custom menus, using the CATalog as an aide-mémoire is better justified, yet consider that if you find yourself resorting to catalog lookups, it might be more efficient in the end to name the thing memorably, yes?
Pro tip: Press one of the R47’s alpha keys to scroll to the items beginning with that letter.1 When applicable, this shortcut partially counteracts the fact that the ⬇︎/⬆︎ buttons scroll catalogs by one line at a time, not by pages. I have no firsthand knowledge as to the reason for this design departure, but my presumption is that this allows nudging a menu down by a line or two to avoid the need for further shifts when selecting an item. The downside is that if you don’t know what you’re looking for, it triples the number of keypresses needed for digging through these menus.
FCNS: Operations
The SwissMicros hardware platform underpinning the R47 has 35 labeled keys, and the two shifts multiply that by 3 for a maximum of ~100 operations directly accessible via the front panel. The problem is, the R47 offers roughly ten times that many operations total, requiring use of the six unlabeled soft menu keys and the 3-line scrolling menu system to access the rest. Thus why the first menu under 🟧 CAT gives a very long scrolling list of the operations available on the R47.
I stress that because these are not strictly functions, returning the same result value for each unique input.
Other things besides proper mathematical functions found here include:
Test-like state getters
The R47 implements all the classic HP tests such as
x≠0?which take as input only the values from the stack — prototypically in this case the X register — and return a Boolean result which controls the calculator’s do-if-true evaluation logic. Graphing the result of one of these functions gives a single spike at the “true” value, with every other input returning “false.” Because these are a 1:1 mapping of sets, they do qualify as a discrete mathematical function.I write all that as prelude to this: the R47 offers several other classes of operations that end in a
?which are not functions in any mathematically useful sense:- Internal state getters operate on calculator states other than the stack, as with
LBL?which takes a program label and returns true if it exists anywhere within program memory. - External state getters operate on real-world states outside the calculator,2 as with
KEY?, which puts a positional key code in a user-specified location to indicate which (if any) key was pressed during the execution of a program. - Configuration getters allow retrieving previously set calculator configuration values, as with
DMX?, yielding the current fraction display mode’s maximum denominator.
- Internal state getters operate on calculator states other than the stack, as with
State changers modify the current state of the calculator, as with
CLXto clear the X register.Option setters change one of the R47’s internal modes, as with
DEG⊙to change the ADM to degrees mode.Menus give access to grouped operations like
DELITM, which may also be found as🟦CLR🟦DELETE🟦DELITM.There are comparatively few of these grouped option sets as compared to the
MENUScatalog proper.
The R47 reference material refers to these as “Commands & Functions” to avoid the consequences of leaning too hard into the colloquial definition of “function,” but if it were me making the call, I’d follow the example of the HP-32SII manual and call this the OPS list.
CNST: Constant Library
A selection of important fundamental physical constants from the CODATA project are here,3 plus many more.
“Like what?” you ask.
Like Mmoon, the mass of the Earth’s moon…in kilograms!
You then demand to know, “When would I ever use this?”
When you are Randall Munroe, that’s when.
CHARS: Character Tables
The CHARS menu is the R47’s equivalent to the Windows Character Map applet or to macOS’s ⌘-^-Space feature.
It is worth pointing out that the R47 is not based on Unicode. Even if the glyph map were brought into the closest possible agreement with the present Version 17.0.0 standard, and even if it made full use of combining characters and other tricks to get equivalent renderings, there are glyphs on the R47 that have no direct representation in Unicode.
(And vice versa. You will not find the 🐈 emoji in the R47’s CHARS menu, even though it is offering a CATalog of characters.)
This menu is a roundabout access to alpha input mode. When you can do what you need via 🟧 ɑ, do so.
PROGS: Your Programs
This is a quick access to programs you have written or loaded into the calculator from third-party sources. You may wish to assign (“ASN”) them to custom user menus rather than dig them out of the catalog at need each time.
VARS: Variables
This gives access to all variables you have defined, organized by data type. This section includes predefined variables such as the financial variables on the bottom row of the REALS sub-menu.
MENUS: All of Them
Every one of the R47’s amazing repertoire of menus is accessible from here, plus any user-defined menus. If you know what to call it, you can find it in a few keystrokes.
And if not, good luck to you!
(You may now wish to return to my R47 article index.)
License
This work is © 2025-2026 by Warren Young and is licensed under CC BY-NC-SA 4.0
- ^
If you can press a second alpha key before it times out, it will refine the scroll point. For instance, pressing
Sand thenOin rapid sequence will bringSOLVEinto the unshifted F1 spot. If you can reliably press a third alpha key in the given time window, you are a better R47 typist than me! - ^
There do exist philosophers who subscribe to a notion of determinism that would extend the notion of “state of the calculator” to include the human operating it and the forces motivating that human's choices from moment to moment. The problem is that even if we presume they are correct, reducing this philosophy to practice is sufficiently difficult that most others persist in believing in free will, if only on an operational basis. The important thing here is that the CPU inside the R47 does not have the capacity to model every real-world complexity required for us to consider
KEY?deterministic, and so for our purposes, it is not a function. - ^ They published 355 constants in the 2022 report, but the R47 constant library offers 83, not all of which are from CODATA.