Post Reply 
About DM32
05-18-2023, 06:13 AM (This post was last modified: 05-19-2023 10:55 AM by Vincent Weber.)
Post: #35
RE: About DM32
(05-17-2023 11:02 PM)Valentin Albillo Wrote:  .
Hi, Vincent,

(05-17-2023 04:56 PM)Vincent Weber Wrote:  Plus42 has the unique style of equations that came with the 27S and the 17B, an elegant, purely functional language, with LET and GET, conditionals, sigma loops, and enhanced it with FOR loops and user-defined functions with local environment and full recursion. Almost nothing to envy to the powerful BASIC of the 71B.

Seriously, Vincent !? Have you ever used HP-71B's BASIC ?

Does timers, data files, DATA/READ statements, LEX extensions, (BIN) subprograms with parameter passing by value or reference, arrays/matrices, strings, string arrays, IEEE compliance, ON GOTO/GOSUB/RESTORE/TIMER etc. ring a bell ?

Let alone the extensions to BASIC provided by the Math ROM: COMPLEX variables/operations, integrate, solve, FFT, polynomial rootfinding, ... or the ones for extende I/O and device control provided by the HP-IL ROM ..."Almost nothing to envy", you say !! What a joke !

Hi Valentin,

Yes, I am aware of the powerful characteristics of the HP-71B you described, and I admit I exagerated a bit Smile but I think you exagerate a bit too, my statement is not THAT ridiculous, a case can be made for it...

Here are a few points that you might have overlooked about Plus42:

-Plus42 equation langage does not have GOTO, but has structured programming constructs instead: the C-style FOR loop, with BREAK and CONTINUE statements; and a SEQ statement that allows to easily define a block of instructions (like { } in C). These allow almost anything, including emulating REPEAT... UNTIL and WHILE loops, with no need for the "spaghetti code" implied by GOTO;

-It doesn't have GOSUB, but it allows user-defined functions with full local environment and recursion;

-It doesn't have ON... GOTO nor ON... GOSUB, but it has a list type, those lists can contain any object, including pointers to functions, so you can call a function either by its index in the list, or even from a string with its function name, I have done it !

-These user-defined functions only support passing parameters by value for now, but I have successfully implemented myself passing by reference, using XEQ and indirect STO/RCL(see below for XEQ), and built-in support is being considered for future releases;

-It doesn't have DATA/READ/RESTORE, but supports direct matrix literals, that allow you to define an array of data without the need of writing a loop to read and store this data;

-it doesn't have LEX files, but it supports XEQ of any RPN program within an equation, with parameters pushed onto the stack, so you can easily expand the language with RPN programs (and, as you know, those 42S RPN programs are super fast in the Free42/Plus42 environnement, and they can save and restore the stack and variables environment, so no damage is done). I have done it successfully to implement some PRINT USING and PAUSE statements within equations, and it works seamlessly;

-It does support the full set of the powerful HP-42S math functions from equations: Matrix, complex, statistical functions, as well as INTEGRATE and SOLVE, are already built-in. String functions that were added to Free42/Plus42, with full substring capabilities, are on the way, at my request;

-It does support arrays (matrices) of unlimited-length strings;

-it does support data files, a matrix is a file that can be built, saved, renamed, moved or copied to another directory, imported or exported from/to Excel using intelligent copy and paste.

I think I found alternatives for almost all the points you mentionned, save for timers and IEEE compatibility, for which I admit there is not (yet?) an equivalent, and HP-IL I/O which wouldn't make sense on my phone. Moreover, the Plus42 approach leans more towards structured programming rather than relying on the (in)famous GOTO instruction Smile

[EDIT] IEEE compliance is indeed supported, even if NaNs and inifinites are not fully exposed to the user.

And as far as external devices are concerned, you still get a big LCD screen with customizable size (both numbers of lines and columns), and the 82240 printer simulation, with an infinite "paper" that you can scroll easily with your fingers. Plus42 equations can print to this, and can even be debugged using TRACE mode, so that you can see at once the details results of every single step, with the cursor positionned to the current step, effectively doing single-stepping in one shot. Very convenient!

And equations are pre-parsed (btw an equation can even parse and evaluate another equation contained in a string, which is functionally equivalent to the powerful HP-71B VAL function) , they are fast, and syntax errors can be caught early at parsing time, with the cursor poistionned on the offending statement. With the latest version it is also possible to debug run-time errors this way. The rocks!

I hope that I demonstrated to you that I am not *that* mad, and that at least comparing Plus42 powerful and versatile language to the powerful HP-71B basic is worth a discussion Smile

Best regards,

Vincent
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
About DM32 - rlionspain - 04-10-2023, 05:50 PM
RE: About DM32 - Klaus Overhage - 04-11-2023, 03:10 PM
RE: About DM32 - rlionspain - 04-11-2023, 05:15 PM
RE: About DM32 - EdS2 - 04-12-2023, 06:43 AM
RE: About DM32 - Thomas_Sch - 04-12-2023, 11:21 AM
RE: About DM32 - EdS2 - 04-12-2023, 05:43 PM
RE: About DM32 - rlionspain - 04-12-2023, 07:39 AM
RE: About DM32 - rlionspain - 04-12-2023, 12:09 PM
RE: About DM32 - Haplochromis - 05-16-2023, 09:34 PM
RE: About DM32 - Steve Simpkin - 05-17-2023, 12:23 AM
RE: About DM32 - KCC - 05-17-2023, 05:12 AM
RE: About DM32 - Eric Rechlin - 05-17-2023, 05:18 AM
RE: About DM32 - Thomas Radtke - 05-17-2023, 05:17 AM
RE: About DM32 - EdS2 - 05-17-2023, 06:42 AM
RE: About DM32 - Vincent Weber - 05-17-2023, 08:05 AM
RE: About DM32 - Marco Polo - 05-17-2023, 08:30 AM
RE: About DM32 - Thomas Radtke - 05-17-2023, 09:03 AM
RE: About DM32 - Vincent Weber - 05-17-2023, 09:10 AM
RE: About DM32 - Vincent Weber - 05-17-2023, 08:38 AM
RE: About DM32 - Marco Polo - 05-17-2023, 04:03 PM
RE: About DM32 - Vincent Weber - 05-17-2023, 04:56 PM
RE: About DM32 - Marco Polo - 05-17-2023, 05:06 PM
RE: About DM32 - Valentin Albillo - 05-17-2023, 11:02 PM
RE: About DM32 - Vincent Weber - 05-18-2023 06:13 AM
RE: About DM32 - carey - 05-18-2023, 06:38 AM
RE: About DM32 - jonmoore - 05-17-2023, 01:04 PM
RE: About DM32 - Vincent Weber - 05-17-2023, 01:29 PM
RE: About DM32 - jonmoore - 05-17-2023, 04:10 PM
RE: About DM32 - Vincent Weber - 05-17-2023, 05:01 PM
RE: About DM32 - Don Williams - 05-17-2023, 05:35 PM
RE: About DM32 - jonmoore - 05-17-2023, 07:55 PM
RE: About DM32 - Marco Polo - 05-17-2023, 08:11 PM
RE: About DM32 - carey - 05-18-2023, 12:47 AM
RE: About DM32 - Marco Polo - 05-18-2023, 07:22 AM
RE: About DM32 - Jlouis - 05-18-2023, 12:13 AM
RE: About DM32 - Vincent Weber - 05-17-2023, 05:26 PM
RE: About DM32 - Marco Polo - 05-17-2023, 07:15 PM
RE: About DM32 - Paul Dale - 05-18-2023, 06:37 AM
RE: About DM32 - Vincent Weber - 05-18-2023, 06:52 AM
RE: About DM32 - Paul Dale - 05-18-2023, 09:49 AM
RE: About DM32 - Vincent Weber - 05-18-2023, 10:07 AM
RE: About DM32 - thenozone - 05-18-2023, 05:50 PM
RE: About DM32 - carey - 05-18-2023, 10:11 PM
RE: About DM32 - Thomas_Sch - 05-19-2023, 04:32 PM
RE: About DM32 - Rolief_Rechner - 05-19-2023, 12:21 AM
RE: About DM32 - anetzer - 05-19-2023, 03:42 AM
RE: About DM32 - nickapos - 05-19-2023, 12:05 PM
RE: About DM32 - EdS2 - 05-19-2023, 07:08 AM
RE: About DM32 - anetzer - 05-19-2023, 09:17 AM
RE: About DM32 - EdS2 - 05-19-2023, 09:33 AM
RE: About DM32 - jonmoore - 05-19-2023, 12:16 PM
RE: About DM32 - EdS2 - 05-19-2023, 02:01 PM
RE: About DM32 - jonmoore - 05-19-2023, 04:26 PM
RE: About DM32 - Valentin Albillo - 05-20-2023, 12:33 AM
RE: About DM32 - Steve Simpkin - 05-20-2023, 02:29 AM
RE: About DM32 - Valentin Albillo - 05-20-2023, 03:40 AM
RE: About DM32 - EdS2 - 05-19-2023, 04:33 PM
RE: About DM32 - DA74254 - 05-19-2023, 05:48 PM
RE: About DM32 - jonmoore - 05-19-2023, 11:39 PM
RE: About DM32 - EdS2 - 05-19-2023, 05:56 PM
RE: About DM32 - EdS2 - 05-20-2023, 08:05 AM
RE: About DM32 - Haplochromis - 05-23-2023, 11:22 AM
RE: About DM32 - ctrclckws - 05-23-2023, 03:02 PM
RE: About DM32 - Vincent Weber - 05-23-2023, 03:08 PM
RE: About DM32 - rprosperi - 05-23-2023, 08:30 PM
RE: About DM32 - thenozone - 05-23-2023, 06:23 PM
RE: About DM32 - Steve Simpkin - 05-23-2023, 07:22 PM
RE: About DM32 - Vincent Weber - 05-23-2023, 09:59 PM
RE: About DM32 - rprosperi - 05-23-2023, 10:51 PM
RE: About DM32 - Vincent Weber - 05-23-2023, 11:08 PM
RE: About DM32 - Dave Britten - 05-24-2023, 12:38 AM
RE: About DM32 - Massimo Gnerucci - 05-24-2023, 06:08 AM
RE: About DM32 - Paul Dale - 05-24-2023, 02:02 AM
RE: About DM32 - Dave Britten - 05-24-2023, 02:15 AM
RE: About DM32 - Vincent Weber - 05-24-2023, 06:57 AM
RE: About DM32 - Steve Simpkin - 05-24-2023, 12:27 PM
RE: About DM32 - Dave Britten - 05-24-2023, 02:51 PM
RE: About DM32 - Steve Simpkin - 05-24-2023, 11:32 PM
RE: About DM32 - Martin Hepperle - 05-25-2023, 11:08 AM
RE: About DM32 - pascal_meheut - 05-25-2023, 05:13 PM
RE: About DM32 - Joe Horn - 05-25-2023, 09:19 PM
RE: About DM32 - J-F Garnier - 05-26-2023, 08:20 AM
RE: About DM32 - Martin Hepperle - 05-26-2023, 12:55 PM
RE: About DM32 - BruceH - 05-25-2023, 11:11 AM
RE: About DM32 - Boub65 - 05-26-2023, 11:39 AM
RE: About DM32 - Hans S. - 07-16-2023, 05:19 PM
RE: About DM32 - Eric Rechlin - 05-26-2023, 02:55 PM
RE: About DM32 - jonmoore - 05-26-2023, 06:33 PM
RE: About DM32 - jonmoore - 05-26-2023, 07:26 PM
RE: About DM32 - J-F Garnier - 05-29-2023, 02:05 PM
RE: About DM32 - DA74254 - 05-29-2023, 04:29 PM
RE: About DM32 - ijabbott - 05-29-2023, 07:39 PM
RE: About DM32 - rprosperi - 05-29-2023, 04:35 PM
RE: About DM32 - Steve Simpkin - 05-29-2023, 06:03 PM
RE: About DM32 - Steve Simpkin - 06-09-2023, 01:22 AM
RE: About DM32 - Steve Simpkin - 06-09-2023, 11:29 PM
RE: About DM32 - Valentin Albillo - 06-10-2023, 05:10 AM
RE: About DM32 - Steve Simpkin - 06-10-2023, 09:47 AM
RE: About DM32 - TI89 - 07-16-2023, 10:28 AM
RE: About DM32 - Joe Horn - 07-16-2023, 11:05 PM
RE: About DM32 - TI89 - 07-19-2023, 07:46 PM
RE: About DM32 - Steve Simpkin - 07-19-2023, 08:08 PM
RE: About DM32 - TI89 - 07-19-2023, 08:29 PM
RE: About DM32 - Steve Simpkin - 07-19-2023, 10:14 PM
RE: About DM32 - Thomas Radtke - 07-17-2023, 06:40 AM
RE: About DM32 - rexbinary - 07-17-2023, 10:41 PM
RE: About DM32 - Steve Simpkin - 08-01-2023, 04:00 PM
RE: About DM32 - Steve Simpkin - 09-08-2023, 01:04 PM
RE: About DM32 - rprosperi - 09-08-2023, 02:47 PM
RE: About DM32 - Vincent Weber - 09-08-2023, 02:50 PM
RE: About DM32 - rprosperi - 09-08-2023, 04:25 PM
RE: About DM32 - Vincent Weber - 09-08-2023, 04:27 PM
RE: About DM32 - rprosperi - 09-08-2023, 09:37 PM
RE: About DM32 - Vincent Weber - 09-08-2023, 09:39 PM
RE: About DM32 - ctrclckws - 09-15-2023, 12:18 AM
RE: About DM32 - Joe Horn - 09-15-2023, 04:13 AM
RE: About DM32 - ctrclckws - 09-15-2023, 08:42 AM
RE: About DM32 - rawi - 09-13-2024, 07:01 PM



User(s) browsing this thread: 6 Guest(s)