HP Forums
Any 42S means to keep a Global Label hidden from XEQ and other menus? - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: Any 42S means to keep a Global Label hidden from XEQ and other menus? (/thread-11526.html)

Pages: 1 2


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Thomas Okken - 10-06-2018 03:12 AM

My thoughts after having read the comments so far:

1. I don't want to add any new instructions. Extending the instruction set is a pain, and that pain becomes especially severe when you're adding instructions that take parameters, like LBL. Given that we're talking about functionality that only a small fraction of Free42 users is going to be interested in, I don't want to spend a huge amount of time implementing this.

2. Having ruled out extensions to the instruction set, we're back at the "magic character" approach. Next question: which character? Answer: some character that is impossible to type on a standard HP-42S or 41C/CV/CX. Using an un-typable character means that no labels from existing programs will be hidden inadvertently. (And before anyone says "synthetic programming," I say, what's the point of creating a label with an un-typable character? Do such programs even exist?)

3. Having chosen an un-typable character, the next question is: so, how *do* you type this un-typable character, then? Answer: I'll add it to the ALPHA menu. Maybe plainly visible, like in the unused fifth spot in the ←↑↓ submenu, or hidden, like Shift-Bullet in the first row of the MISC submenu.

4. Finally: when exactly are those hidden labels hidden, and when are they still visible? I'm thinking they should be hidden from the menus that appear with XEQ, SOLVER, and ∫f(x), in RUN mode only, and remain visible everywhere else.

Thoughts?


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Dave Britten - 10-06-2018 01:34 PM

That sounds pretty good. I would expand on point 4 a bit: it would be ideal if there were two different prefix characters, one which hides only from the XEQ menu, and one which hides from XEQ, solve, and integrate. Normally I put a colon at the beginning of program names if they're meant for use with the solver, to make it obvious that XEQ won't produce anything useful.


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - burkhard - 10-06-2018 04:48 PM

Thomas's ideas are great and maybe Dave's enhancements as well. You guys have a lot more experience than me on this, but it sounds like the ideas being kicked around would be a good usability improvement.

I also like Dave's hint on how he tags the labels intended for the SOLVE menu a bit differently. I've found that annoying as well and could see that if I didn't use a program frequently, I might forget if it is to be run from SOLVE or as a normal XEQ program.


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Thomas Okken - 10-06-2018 05:05 PM

The problem with two different characters, for hiding from XEQ, solve, and integ vs. hiding from XEQ only, is that there aren't a lot of non-typable characters to work with.

I like ▒, which really stands out, but what to use for the second magic character? There's ▸, ↵, ├, and the small-caps Y and skinny colon characters used for building the X: and Y: stack labels. None of these are great options. The skinny colon would be best, if it weren't for the fact that it gets converted to a regular colon when copying or printing to text.


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Valentin Albillo - 10-06-2018 09:27 PM

.
Hi, Thomas:

(10-06-2018 03:12 AM)Thomas Okken Wrote:  2. Having ruled out extensions to the instruction set, we're back at the "magic character" approach. Next question: which character?
[...]
Thoughts?

Perhaps this alternate approach could be useful and hopefully reasonably easy to implement:

      - Globally visible labels, as usual. Example: LBL "PEPITO"
      - "Hidden" labels, lowercase name. Example: lbl "PEDRO"

Thus in a code segment like this:

      01 LBL "CONVERT"
      ...
      37 lbl "CM2INCH"
      ...
      45 lbl "INCH2CM"
      ...

only CONVERT would appear in menus, while CM2INCH and INCH2CM would not. Just an idea, which could be further elaborated.

Regards.
V.


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Paul Dale - 10-07-2018 12:21 AM

(10-06-2018 03:12 AM)Thomas Okken Wrote:  4. Finally: when exactly are those hidden labels hidden, and when are they still visible? I'm thinking they should be hidden from the menus that appear with XEQ, SOLVER, and ∫f(x), in RUN mode only, and remain visible everywhere else.

They are shown for the current program ?

Pauli


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Thomas Okken - 10-07-2018 03:31 AM

This is starting to look like something I'm not going to be happy with. Too much work and/or too much damage to the integrity of the HP-42S user interface design.

I'm sorry, but count me out on this one...


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Paul Dale - 10-07-2018 08:07 AM

I've got a few days off work, I might have a look into this if I get a chance.
Admittedly, this is probably unlikely.

Pauli


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - burkhard - 10-07-2018 07:45 PM

(10-07-2018 03:31 AM)Thomas Okken Wrote:  This is starting to look like something I'm not going to be happy with. Too much work and/or too much damage to the integrity of the HP-42S user interface design.

I'm sorry, but count me out on this one...

Thomas, I thought your “magic character” solution was both simple and highly usable. I can understand not wanting to sign up if there’s a lot of “mission creep” starting to work it’s way in. But what you had seemed pretty darned good to me, certainly a big improvement over the status quo with minimal tear-up.

Anyhow, just a voice of support and thanks again for the great Free42.


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Thomas Okken - 10-07-2018 08:14 PM

(10-07-2018 07:45 PM)burkhard Wrote:  I thought your “magic character” solution was both simple and highly usable.

I may end up implementing that; it has the virtue of being unobtrusive (guaranteed not to affect legacy code), but the question of what to hide when is difficult to answer in an entirely satisfactory manner. I've looked into several seemingly innocuous simulator ("core") improvements over the years, and ended up nixing every single one, because I just kept reinventing RPL. Big Grin That danger lurks here as well.

It'll go on the back burner anyway, for now, because I just remembered that I won't be able to release *any* updates for iOS until I implement iPhone X support, which appears to require implementing a proper UI instead of the hacky mess that exists today. It should make the app look better, and enable me to implement some proper iPad support as well, but I'm not looking forward to coding it...


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Guenter Schink - 10-07-2018 10:41 PM

(10-07-2018 08:14 PM)Thomas Okken Wrote:  
(10-07-2018 07:45 PM)burkhard Wrote:  I thought your “magic character” solution was both simple and highly usable.

I may end up implementing that; it has the virtue of being unobtrusive (guaranteed not to affect legacy code), but the question of what to hide when is difficult to answer in an entirely satisfactory manner. I've looked into several seemingly innocuous simulator ("core") improvements over the years, and ended up nixing every single one, because I just kept reinventing RPL. Big Grin That danger lurks here as well.

Perhaps we can talk you into this at Allschwil Smile

Günter


























And after that it's time for directories ....


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Guenter Schink - 10-07-2018 10:42 PM

(10-07-2018 10:41 PM)Guenter Schink Wrote:  
(10-07-2018 08:14 PM)Thomas Okken Wrote:  I may end up implementing that; it has the virtue of being unobtrusive (guaranteed not to affect legacy code), but the question of what to hide when is difficult to answer in an entirely satisfactory manner. I've looked into several seemingly innocuous simulator ("core") improvements over the years, and ended up nixing every single one, because I just kept reinventing RPL. Big Grin That danger lurks here as well.

Perhaps we can talk you into this at Allschwil Smile

Günter


























And after that it's time for directories .... Big Grin



RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Thomas Okken - 10-07-2018 11:21 PM

(10-07-2018 10:41 PM)Guenter Schink Wrote:  Perhaps we can talk you into this at Allschwil Smile

Alas, no, my plans for moving back to Europe are on hold for probably another year, and I won't have time to travel to Switzerland just for a long weekend.

However, I don't consider promises extracted under duress to be binding anyway. Smile

(10-07-2018 10:41 PM)Guenter Schink Wrote:  And after that it's time for directories ....

Aaaaaaaand another perfect example of the slippery slope to RPL. Big Grin


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - Dave Britten - 10-08-2018 11:09 AM

Feature creep is a harsh mistress. Smile What about just expanding the Custom menu to 10 pages or so?


RE: Any 42S means to keep a Global Label hidden from XEQ and other menus? - brickviking - 10-08-2018 08:35 PM

(10-08-2018 11:09 AM)Dave Britten Wrote:  Feature creep is a harsh mistress. Smile What about just expanding the Custom menu to 10 pages or so?

Only ten? How about including a separate menu editor program, a stack editor program, and a program edito.... hm, hang on. Something sounds a little off...

(Post 304)

Big Grin