Inspiring the next generation of RPN users

General discussion about calculators, SwissMicros or otherwise
User avatar
dalremnei
Posts: 43
Joined: Thu Dec 10, 2020 11:32 am
Location: Scotland

Re: Inspiring the next generation of RPN users

Post by dalremnei »

Florian wrote:
Sun Nov 21, 2021 4:04 am
With the HP42S we are lucky to at least get the commands in human readable form. I imaging that those models that due to hardware limitations still required to be programmed and read in hex also had quite an interesting learning curve...
I own a 12C and DM16L. Both calculators don't display their program steps in "Hex", but instead use a co-ordinate system where 43 means 4 down 3 across. Number keys are given their literal values. The 16L is capable of jumping to labels and has subroutine support, making it far easier to program without a pen and paper than the 12C. The 12C is almost impossible to program for anything complex unless you're willing to write out your program steps beforehand to work out jump addresses and such. The recommended way HP wants you to change programs you've already keyed in is jumping down to code after the program, and jumping back in, as a patch, because the 12C cannot move code down memory when inserting operations, it can only overwrite.

It's really not as bad as it sounds, it's a bit like programming a computer that only has a machine language monitor.
SwissMicros DM42, DM16L, HP 12c Platinum, Prime G2 CASIO fx-9750gii, fx-991ex classwiz, fx-CG50, TEXET fx1500, TI nspire CX II-T
Florian
Posts: 23
Joined: Mon Apr 26, 2021 1:19 pm
Location: Japan

Re: Inspiring the next generation of RPN users

Post by Florian »

dalremnei wrote:
Sun Nov 21, 2021 6:05 pm
I own a 12C and DM16L. Both calculators don't display their program steps in "Hex", but instead use a co-ordinate system where 43 means 4 down 3 across. Number keys are given their literal values.
Thank you for the clarifications. Till now I thought that this is really some kind of hex code as in assembler programming. So it is more like a 2D lookup-table. Well, I guess the principle is the same, just with less letters. I will happily leave these calculators to the hard-core fans then, though I do admit it is probably a good learning experience. :)
rprosperi
Posts: 1703
Joined: Mon Apr 24, 2017 7:48 pm
Location: New York

Re: Inspiring the next generation of RPN users

Post by rprosperi »

Florian wrote:
Mon Nov 22, 2021 12:32 am
dalremnei wrote:
Sun Nov 21, 2021 6:05 pm
I own a 12C and DM16L. Both calculators don't display their program steps in "Hex", but instead use a co-ordinate system where 43 means 4 down 3 across. Number keys are given their literal values.
Thank you for the clarifications. Till now I thought that this is really some kind of hex code as in assembler programming. So it is more like a 2D lookup-table. Well, I guess the principle is the same, just with less letters. I will happily leave these calculators to the hard-core fans then, though I do admit it is probably a good learning experience. :)
It's much simpler than you think, it's not really a lookup table, the coordinates for each step are simply those of the key you press; for example on the 16C, if you press X<>Y (which is the 4th key in the 3rd row,) in program mode, it inserts the code 34. So when you later look at a program, you examine the 2-digit code NM, and then look for the Mth key over in the Nth row of keys. Which is actually far easier to do than explain. It's really very simple.
--bob p

DM42: β00071 & 00282, DM41X: β00071 & 00656, DM10L: 071/100
Florian
Posts: 23
Joined: Mon Apr 26, 2021 1:19 pm
Location: Japan

Re: Inspiring the next generation of RPN users

Post by Florian »

rprosperi wrote:
Mon Nov 22, 2021 1:15 am
It's much simpler than you think, it's not really a lookup table, the coordinates for each step are simply those of the key you press; for example on the 16C, if you press X<>Y (which is the 4th key in the 3rd row,) in program mode, it inserts the code 34. So when you later look at a program, you examine the 2-digit code NM, and then look for the Mth key over in the Nth row of keys. Which is actually far easier to do than explain. It's really very simple.
Doh, that's indeed simple. So how do you represent shifted functions? Or is pressing the shift key a separate instruction (which would actually be quite true to the concept of keystroke programming...)?

I guess we're getting off-topic here. Sorry about that. :D
User avatar
dalremnei
Posts: 43
Joined: Thu Dec 10, 2020 11:32 am
Location: Scotland

Re: Inspiring the next generation of RPN users

Post by dalremnei »

Modifier keys are always combined on the voyager calculators, but not all systems do it like that.
SwissMicros DM42, DM16L, HP 12c Platinum, Prime G2 CASIO fx-9750gii, fx-991ex classwiz, fx-CG50, TEXET fx1500, TI nspire CX II-T
toml_12953
Posts: 795
Joined: Wed May 03, 2017 7:46 pm
Location: Malone, NY USA

Re: Inspiring the next generation of RPN users

Post by toml_12953 »

Florian wrote:
Mon Nov 22, 2021 1:27 am
rprosperi wrote:
Mon Nov 22, 2021 1:15 am
It's much simpler than you think, it's not really a lookup table, the coordinates for each step are simply those of the key you press; for example on the 16C, if you press X<>Y (which is the 4th key in the 3rd row,) in program mode, it inserts the code 34. So when you later look at a program, you examine the 2-digit code NM, and then look for the Mth key over in the Nth row of keys. Which is actually far easier to do than explain. It's really very simple.
Doh, that's indeed simple. So how do you represent shifted functions? Or is pressing the shift key a separate instruction (which would actually be quite true to the concept of keystroke programming...)?

I guess we're getting off-topic here. Sorry about that. :D
The TI-58/59 added 5 to the column position to indicate a shifted function. The code for square root was 34 (3rd row, 4th column) shift square root (cos) was represented by 39. The row number was never incremented. The code for the 1/x key was 35 but shifted 1/x (tan) was 30.
Tom L

Some people call me inept but I'm as ept as anybody!
DM10L SN: 059/100
DM41X SN: 00023 (Beta)
DM41X SN: 00506 (Shipping)
DM42 SN: 00025 (Beta)
DM42 SN: 00221 (Shipping)
WP43 SN: 00025 (Prototype)
User avatar
48GX
Posts: 180
Joined: Wed May 20, 2020 4:37 am

Re: Inspiring the next generation of RPN users

Post by 48GX »

toml_12953 wrote:
Mon Aug 07, 2017 8:32 pm
grsbanks wrote:
Mon Aug 07, 2017 7:44 pm
Walter wrote:
Mon Aug 07, 2017 6:20 pm
Even the DM10 is overkill with its L.R. and PRGM for school kids. But if you think of RPN for the next generation, give them an eight-level stack!
Give them a machine with a stack limited only by available memory (RPL) :)
No no! Anything but RPL! When I type something on the keyboard, I want it in the X stack register as I type it. I'm used to the classic HP machines,
HP-35, 45, 65, 67, etc. Having a separate entry line makes no sense to me. It seems like an unnecessary waste. I would like an unlimited stack, though!
My son, seventh grade, uses a DM42 in NStack mode because he likes the 48GX stack better. While I agree with him about the 48GX stack being better, I use my DM42 in XYZT. I can mentally switch gears based on the physical calculator in front of me. I also dont’ want to kill the programs I have written.
Waiting for SM to release DM42 hardware with one additional row of keys.
DM42, DB48X, DM32, HP42s, DM41X, HP35s, DM41L
Raising a next generation RPN/RPL user.
User avatar
Brianetta
Posts: 23
Joined: Sat Apr 23, 2022 10:00 pm
Location: United Kingdom

Re: Inspiring the next generation of RPN users

Post by Brianetta »

Interesting seeing how HP calculator people argue about the merits of the size of the RPN stack. Here's my take. 🙂

I recently bought a DM-42. I've been aware of it for a long time, but I didn't even consider purchasing it until it had an n-stack. I learned RPN in the context of paper and pencil, not calculators, although I did use dc on Solaris and Linux back in my terminal-using days.

The first discrete RPN calculator I ever owned was an HP50g, which is an impenetrable monster that eats batteries. Still, the RPN was a delight (and I know people here say it isn't RPN, it's RPL, but remember I learned RPN in a non-HP, non-calculator context). I could just work from left to right, pushing elements up the stack until I needed them again, without having to work "from the inside out". Also, I could just leave previous results in the stack, and start new calculations, leaving me with a chronological list of results in the stack.

My second RPN calculator was the DM16L. I love that calculator for its first-class bitwise functions, but I hate its tiny stack, where intermediate values get replaced with previous intermediate values and I get wrong results whenever I try anything more complex than "what's the state of a sixteen bit register when I mask out the most significant byte". Leaving results on the stack is impossible, of course - I either need to either get paper and a pen out, or just ditch the DM16L and use a computer. Of course, the lack of stack space leads to other annoyances, like functions taking parameters after the function, in prefix mode. I still find myself stumbling over the fact that I change the display mode by hitting FIX then the number of places I want to see, but change word size by pushing the number of bits I want onto the stack and then hitting WSIZE. Only the latter feels right.

I didn't need an HP50g. That thing's an awful experience (I still don't know how to graph with it). I did learn how to do my bitwise stuff on it, but it wasn't particularly pleasant. I didn't go for the other RPN calculators that were on the market (basically, the HP35s and the DM42) because a four level stack, to me, is crippled. I have to do so much work myself keeping track of how deep I'm pushing it, and if I fail to do that I'm silently punished with wrong results. I dislike the experience intensely.

At university, in my programming lectures, I was taught to accommodate either zero, one, or an arbitrary number of things, and to avoid hard-coded limits. Four is such a limit, and since hardware is very much more capable now, attempts to rationalise it seem... irrational.

When Free42 got the NSTK mode, and the DM42 adopted it, I was suddenly very interested in acquiring a DM42 (especially with the BASE mode being made actually useful as well). I now very much enjoy using it, even though it still has all those annoying functions that take arguments after the fact.

For the record, my favourite programming language is Tcl. Polish notation needs extra work when there are variable numbers of arguments, but it's still way more lovely than infix.
🖩 DM16L, DM42
Peet
Posts: 257
Joined: Tue Sep 29, 2020 12:01 am
Location: Germany

Re: Inspiring the next generation of RPN users

Post by Peet »

Brianetta wrote:
Mon May 23, 2022 3:00 am
Interesting seeing how HP calculator people argue about the merits of the size of the RPN stack. Here's my take. ??
...
I didn't go for the other RPN calculators that were on the market (basically, the HP35s and the DM42) because a four level stack, to me, is crippled.
...
Four is such a limit, and since hardware is very much more capable now, attempts to rationalise it seem... irrational.
Why not argue with the merits of Entry RPN (aka RPL) instead of badmouthing Classic RPN?

The classic 4 level stack was a decision (4 wheels vs chain drive on a car) and not "crippled" (at the latest, the step from HP65 to HP67 proves that memory limitations wasn't the reason for a 4 level limit). Limits are not irrational per se and often make sense.

As I mentioned earlier, the classic 4 level stack still makes sense today, because almost all of the literature on RPN refers to it and can clearly better show the advantages of RPN compared to algebraic input. Plus, it's easier to understand and learn.

Entry RPN, on the other hand, has advantages e.g. for complex stack/matrix operations and data processing on the stack. But has a lack of prefilled stack, mostly no LastX and direct register access, no t-register and often an annoying error handling.

I think it makes more sense to choose the variant that better fits for the usage or the one you like better than to believe in technical superiority of one of these variants and to derive a religion from it.
My programmable calculators - former: CBM PR100, HP41CV, HP28S, HP11C - current: HP48G(256kB), HP35S, Prime, DM41X, DM42
User avatar
Brianetta
Posts: 23
Joined: Sat Apr 23, 2022 10:00 pm
Location: United Kingdom

Re: Inspiring the next generation of RPN users

Post by Brianetta »

Sorry, I didn't mean to hurt its feelings. I'm sure that many decades ago it made sense, with memory constraints being a practical limitation. As I said before, a stack that grows into available memory was actually such an important requirement to me that I didn't consider a DM42 purchase until it had that as a feature, despite having been aware of its existence and other capabilities for years. I might not be the only person coming to these devices from outside the HP fan world.

I have absolutely no idea what the car analogy is supposed to invoke. I don't have one myself.
🖩 DM16L, DM42
Post Reply