Author Topic: Regina REXX vs. OS/2 REXX  (Read 9856 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 364
  • -Receive: 72
  • Posts: 2258
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Regina REXX vs. OS/2 REXX
« Reply #15 on: January 23, 2017, 07:59:09 pm »
Hi

Just a disconnected, but related post, I was checking the The Rexx Language Association homepage:
http://www.rexxla.org/

They are promoting "The 28th International Rexx Language Symposium will be on April 10th - 12th, 2017, The Netherlands."
It can be interesting for the OS/2 community to do some presence there.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

André Heldoorn

  • Hero Member
  • *****
  • Thank You
  • -Given: 57
  • -Receive: 15
  • Posts: 526
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #16 on: January 24, 2017, 02:28:26 am »
They are promoting "The 28th International Rexx Language Symposium will be on April 10th - 12th, 2017, The Netherlands."
It can be interesting for the OS/2 community to do some presence there.

In or near the home town of both the RexxLA President, Amsterdam, and near whatever's left of Mensys.

RexxLA, with its Open Object Rexx, may be the wrong bet. If you would want to talk to the members about about our Object Rexx, for example to strategically point out that we may be the largest non-mainframe community of Rexx users by far, then there is actually no "topic area of particular interest" which would cover the generic topic of your OS/2 presentation. After such a presentation I'd expect a few nice words and exchanged OS/2 memories, but no meaningful help. They already have got what they wanted, and they have "moved on".

And, again, I'm not sure what the added value of Object Rexx is, in our world of Classic Rexx apps. I'm using the interpreter, despite of a few problems like running out of shared memory or syntax-checking broken legacy software, but only because of the 3 parameters of the Date() built-in function. Regina should support this too. Most object-oriented code will be used to produce a GUI, but we already have such an environment. VisPro/REXX, VX-REXX, and so on. An OO GUI, on top of any Classic Rexx interpreter of the OS. Or, in other words, which existing software requires an Open Object Rexx for OS/2?

If IBM requires a RexxLA to release our source code: fine. Otherwise RexxLA isn't that interested in, for example, Object Rexx/2. RexxLA is n't always excluding OS/2, but a topic like "Novel, clever, or interesting problem solutions using ooRexx or Classic Rexx" does. There is only one Object Rexx interpreter: theirs. No Object Rexx/2, no generic "Object Rexx", and even no IBM Object Rexx for Windows with its IDE. A functional language association should use the name of the language instead of the name of a brand. Their own brand, in this case. RexxLA is not an inclusive association.

I guess I'll survive listening to people using ooRexx and Java to populate their Excel spreadsheets for three days, but it may be more useful to become a member which represents the OS/2 community. It's a small world, so the vote ($24/year) will count. The ooRexx symposium costs $30 (3 days), excluding costs.
« Last Edit: January 24, 2017, 02:31:59 am by André Heldoorn »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 364
  • -Receive: 72
  • Posts: 2258
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Regina REXX vs. OS/2 REXX
« Reply #17 on: January 24, 2017, 01:08:15 pm »
Hi André.

I also need to understand more about Object Rexx to have better idea of RexxLA strategy. The main issue for me will be always be that we have an great Rexx interpreter that does not has a future since it can not evolve because it is close source. (Again, please save me the "If it is not broken, don't fix it" talk, it had already been discussed).

But instead of assuming a possible response as an answer it will be good for the OS/2 community to knock RexxLA door and find out. In general terms I think that the OS/2 community need to get more friends. I mean "community friends" with projects that they goal may not be OS/2, but understand that the OS/2 community uses that software and at some point generate a symbiosis that benefits both sides. Maybe important projects that are complete funded and don't have a "user base issues" may not want more friends, but I think that they are other that will welcome more people.

For example, on some Warpstock Lewis Rosenthal said Arca was involved on the Kerbeos Community (MIT Kerberos Consortium?) since they want it running on OS/2, which I consider positive. We all want the software to be ported to OS/2, that may be the final goal, but it is also important to show the originator that we have it ported and there are is a community of OS/2 people using it.

Regards

Martin Iturbide
OS2World NewsMaster
... just share the dream.

Andreas Schnellbacher

  • Sr. Member
  • ****
  • Thank You
  • -Given: 1
  • -Receive: 22
  • Posts: 408
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #18 on: January 24, 2017, 08:56:48 pm »
Note that the last IBM version of Object REXX for OS/2 contains so many bugs that one should activate that only temporarily. Esp. as system REXX interpreter, only the Classic REXX is recommendable.

BTW: The for me important changes in the Free Software "Open Object REXX" are all in its compatibility mode, to execute non-OR scripts. They have improved a lot that I miss on OS/2. I'm not sure if I really want to start with the Object REXX syntax. (I think for GUI stuff one has to.)

nyao

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 25
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #19 on: January 25, 2017, 07:35:36 am »
I like Classic Rexx and DrDialog.

http://hp.vector.co.jp/authors/VA028575/rexxs.htm

Sergey Posokhov

  • Full Member
  • ***
  • Thank You
  • -Given: 1
  • -Receive: 6
  • Posts: 119
    • View Profile
    • OS/2 API Research
Re: Regina REXX vs. OS/2 REXX
« Reply #20 on: January 25, 2017, 03:35:15 pm »
I like Classical Rexx but not Object-Oriented.
The future is Functional Programming anyway.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 364
  • -Receive: 72
  • Posts: 2258
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Regina REXX vs. OS/2 REXX
« Reply #21 on: January 26, 2017, 02:56:35 pm »
Hi

Sorry about the ignorance on this subject, but what are the most important OS/2 applications (or non important) that runs using IBM's Object Rexx ? Can you give me some examples?

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Andreas Schnellbacher

  • Sr. Member
  • ****
  • Thank You
  • -Given: 1
  • -Receive: 22
  • Posts: 408
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #22 on: January 26, 2017, 06:06:34 pm »
I doubt that there are any. Most likely because the OS/2 version of Object REXX has only alpha/beta status and because of the named incompatibilities.

The most famous incompatibility is probably Chuck's (outdated) eCS Maintenance Tool. With activated Object REXX, it starts only about 3 times before a reboot is required.

Pete

  • Hero Member
  • *****
  • Thank You
  • -Given: 1
  • -Receive: 33
  • Posts: 798
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #23 on: January 26, 2017, 07:39:59 pm »
Hi Martin

The PAF software required Object Rexx to be the active system rexx - possibly 1 reason that PAF was not successful.


Regards

Pete

André Heldoorn

  • Hero Member
  • *****
  • Thank You
  • -Given: 57
  • -Receive: 15
  • Posts: 526
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #24 on: January 28, 2017, 04:36:27 am »
what are the most important OS/2 applications (or non important) that runs using IBM's Object Rexx ? Can you give me some examples?

At last one app, written for my own use. I'm aware of the required interpreter, I know which important apps won't work (GenMAC*.WPI installer) with the Object Rexx interpreter, and I'm not using a single line of object-oriented code.

With IBM Object Rexx for Windows you'd have to use object-oriented code to use a GUI dialog. But with OS/2 the tools, like VisPro/REXX, DrDialog, VX-REXX, and so on, are object-oriented, and you can use such an object-oriented GUI with any Rexx interpreter.

If Regina would be added to SWITCHRX.CMD, then trying it should be easy. You'll notice problems quite quickly. It may be my prefered solution. It should be better than Classic Rexx, I can tell users to SWITCHRX.CMD to use Regina, and it doesn't have the (minor) disadvantages of Object Rexx.

Our priority is integrated Classic Rexx (compatibility). SETUP.CMD files. I won't deny a few people their up-to-date Open Object Rexx interpreter, but I cannot think of any app which desperately requires object-oriented capabilities, and the number of C++ developers is limited.

I'm not sure what the RexxLA has got to help us. People may be aware of OS/2, like the author of Regina, but they don't have the OS/2 source code and sometimes you'll have to explain again that Open Object Rexx (for Windows, typically) isn't the only Object Rexx interpreter.

In general I've looked at Object Rexx apps. There are a few examples, but examples I've seen all were written by Rony Flatscher. He used to support OS/2 for a long while, with his Java-related solutions, but has dropped support for OS/2. IIRC because there were no known users. You may consider his Object Rexx apps to be educative sample apps, and he has "moved on" to Open Object Rexx too.

Unverified Object Rexx software at Hobbes, excluding the interpreter itself, including articles and samples:

http://hobbes.nmsu.edu/download/pub/os2/apps/comm/fax/fxclsv01.zip
http://hobbes.nmsu.edu/download/pub/os2/apps/internet/mail/reader/pmm/lm2pmm.zip
http://hobbes.nmsu.edu/download/pub/os2/apps/internet/www/util/httpget.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/dallas.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/dump_cls.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/orexxsql.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/orx7.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/orx8.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/rxlepsom.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/orexx/sg244586.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/rexx/DrDlgFix.zip
http://hobbes.nmsu.edu/download/pub/os2/dev/rexx/olbox100.zip
http://hobbes.nmsu.edu/download/pub/os2/doc/ExtWPS-Article.zip

Of this list I only have the file DrDlgFix.zip installed. It's a fix related to using the interpreter, but not to using object-oriented code. That's the only example I can give you. The internal example uses Date() with 3 arguments, which is not supported by IBM's old Classic Rexx interpreter.
« Last Edit: January 28, 2017, 04:57:21 am by André Heldoorn »

André Heldoorn

  • Hero Member
  • *****
  • Thank You
  • -Given: 57
  • -Receive: 15
  • Posts: 526
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #25 on: January 28, 2017, 05:29:13 am »
If almost nobody is using Object Rexx/2 code, then almost nobody will report Object Rexx apps.

OTOH, at EDM/2 you can find out how old the OS/2 Classic Rexx-compatibility coding style is. This page does suggest that Microsoft OS/2 0.99b's outdated OS2ENVIRONMENT is the only valid value, and people still are using it.

Code: [Select]
[J:\]rexxtry say value('HOME',,'ENVIRONMENT')
J:\HOME\DEFAULT
  ................................................ REXXTRY.CMD on OS/2

[J:\]

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 10
  • -Receive: 138
  • Posts: 1978
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #26 on: January 28, 2017, 07:25:00 am »
How hard would it be to update swtchrx.cmd to support Regina? Perhaps someone could package Regina Rexx including an updated switchrx.cmd.

André Heldoorn

  • Hero Member
  • *****
  • Thank You
  • -Given: 57
  • -Receive: 15
  • Posts: 526
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #27 on: January 28, 2017, 10:56:43 pm »
How hard would it be to update swtchrx.cmd to support Regina? Perhaps someone could package Regina Rexx including an updated switchrx.cmd.

That should be soft. But the equivalent of a x:\OS2\DLL\REXX.DLL, a fully compatible REXXUTIL.DLL (keep using IBM's latest one?) and an INF file will be required. And all other essential Rexx-related files of the OS.

SWITCHRX.CMD basicly just swaps files.

The REXX.DLL (COPY y:\REGINA.DLL x:\OS2\DLL\REXX.DLL) will be required to not having to type "REGINA.EXE SCRIPT.REX -arg1".

The functins RxMessageBox (no RxFuncAdd required) and Sys*(with RxFuncAdd) have to keep working.

Typing "HELP REXX D2C" should result in a relevant fine manual page.

Typing "HELP REX40" should result in a relevant error message and a possible solution.

So at the moment Regina won't fully qualify as one of the replacements. I'm not using Regina because Object Rexx does what I'm looking for, but a quick scan shows that there's no INF (nor HLP) file. Nor a MSG file for "HELP REX40". The list of all required file, to become an OS component, can be found in x:\OS2\SWITCHRX.CMD.

An important advantage of SWITCHRX.CMD is that it's the default way to switch back to a working, different Rexx interpreter. So if some Watcom VX-REXX EXE fails (or a WPI package, or a common Rexx app) , then you don't have to uninstall Regina and restore an IBM Rexx interpreter to be able to execute this EXE. As such SWITCHRX.CMD is a good solution.

Oh, and "REGINA TEST.CMD //t" doesn't tokenize the script and this command executes TEST.CMD. So a tokenized 0 bytes Rexx scripts, also known as a Rexx EXE, may stop working too.

This may answer the original question. If Regina wants to become the third OS/2 Rexx interpreter, then essential functionalities and files will have to be added to Regina for OS/2. Like the INF file, and the argument //t shouldn't execute the code. One may argue that //t was a bad idea, but the expected result now is that the code won't actually be executed. Regina executes the code.
« Last Edit: January 28, 2017, 11:10:47 pm by André Heldoorn »

André Heldoorn

  • Hero Member
  • *****
  • Thank You
  • -Given: 57
  • -Receive: 15
  • Posts: 526
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #28 on: January 28, 2017, 10:58:44 pm »
How hard would it be to update swtchrx.cmd to support Regina? Perhaps someone could package Regina Rexx including an updated switchrx.cmd.

That should be soft. But the equivalent of a x:\OS2\DLL\REXX.DLL, a fully compatible REXXUTIL.DLL (keep using IBM's latest one?) and an INF file will be required. Actually all essential files.

SWITCHRX.CMD basicly just swaps files.

The REXX.DLL (COPY y:\REGINA.DLL x:\OS2\DLL\REXX.DLL) will be required to not having to type "REGINA.EXE SCRIPT.REX -arg1".

The functins RxMessageBox (no RxFuncAdd required) and Sys*(with RxFuncAdd) have to keep working.

Typing "HELP REXX D2C" should result in a relevant fine manual page.

Typing "HELP REX40" should result in a relevant error message and a possible solution.

So at the moment Regina won't fully qualify as one of the replacements. I'm not using Regina because Object Rexx does what I'm looking for, but a quick scan shows that there's no INF (nor HLP) file. Nor a MSG file for "HELP REX40". The list of all required file, to become an OS component, can be found in x:\OS2\SWITCHRX.CMD.

An important advantage of SWITCHRX.CMD is that it's the default way to switch back to a working, different Rexx interpreter. So if some Watcom VX-REXX EXE fails (or a WPI package, or a common Rexx app) , then you don't have to uninstall Regina and restore an IBM Rexx interpreter to be able to execute this EXE. As such SWITCHRX.CMD is a good solution.

Andreas Schnellbacher

  • Sr. Member
  • ****
  • Thank You
  • -Given: 1
  • -Receive: 22
  • Posts: 408
    • View Profile
Re: Regina REXX vs. OS/2 REXX
« Reply #29 on: January 28, 2017, 11:21:35 pm »
No, you need also replace the REXX subcommand functions. Note that REXX is integrated into the OS.