Re: Rexx numeric digits and scientific notation question

2024-03-20 Thread Oscar

El 2024-03-19 02:40, David Crayford escribió:

On 19 Mar 2024, at 9:08 am, Andrew Rowley 
 wrote:


On 19/03/2024 11:05 am, David Crayford wrote:
If you’re care so much about Java catching errors at compile time 
then why don’t you use Kotlin instead? NPE’s are one of the most 
common form of Java runtime errors that can be eliminated using 
Kotlins null safety.


Java's not perfect, but it is powerful and it is pretty much 
universally available on z/OS. I'm writing functions for others to 
build on e.g.:


https://static.blackhillsoftware.com/easysmf-rti/javadoc/com.blackhillsoftware.smf.realtime/com/blackhillsoftware/smf/realtime/package-summary.html

So using/targeting the language that is most available makes sense.

But my question was: Why Python? What are the reasons for using Python 
rather than e.g. Java?



Though the conversation initially compared REXX to Python, it's clear
they are fundamentally different beasts and different ends of the
spectrum. Python is a powerful and widely-used programming language
with applications across various industries. It underpins critical
systems like the backend of Instagram's photo-sharing platform, and is
utilized by major players such as Tesla, Spotify, Uber, Amazon, NASA,
Netflix, and Facebook. Notably, IBM is investing in Python for z/OS,
with the ability to run on a zIIP with a 70% generosity factor and
libraries facilitating integration with RACF, enabling the use of RACF
keyrings with micro web frameworks like Flask. Certainly, IBM's
investment in Java is crucial for the future sustainability of z/OS.
On the other hand, REXX is likely supported as cheaply as possible by
a very small team, along with TSO.



David,

Do you have more details about the enabling of RACF keyrings in Python? 
We are developing a Flask webapp and that would be fantastic.


Thanks!

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-19 Thread Seymour J Metz
That is an issue for any language. If it is going into production then the 
installation needs to manage updates. That typically means that new release of 
external packages go through similar CM and QA management as the inhouse code 
does. You don't use the most recent release; you use the one that your shop has 
vetted.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Pew, Curtis G 
Sent: Tuesday, March 19, 2024 2:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Mar 18, 2024, at 6:01 PM, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

The really tricky part of letting programmers use Python is how do they get the 
necessary non-standard libraries for themselves?  I suspect most large shops 
will, in the name of “security”, prevent open access to the PyPi library 
repository, and no doubt highly control it in a bureaucratic snarl, with the 
actual breadth of available packages highly restricted to only those libraries 
that are “approved for use” in a locally maintained private repository.  Sad to 
say, I can see the bureaucratic delays to get access to a library piling up 
already.

We’ve licensed a package manager (Artifactory in our case, but I imagine there 
are others) and have configured pip so that it looks there instead of PyPI. 
This is mostly so we can manage local packages that we’ve developed just for 
use at the University, and it’s actually set up to proxy PyPI for packages it 
doesn’t have already, but I believe it could be used to only allow curated 
packages, which might help with the bureaucrats.


--
Curtis Pew
ITS Campus Solutions
curtis@austin.utexas.edu




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-19 Thread Pew, Curtis G
On Mar 18, 2024, at 6:01 PM, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

The really tricky part of letting programmers use Python is how do they get the 
necessary non-standard libraries for themselves?  I suspect most large shops 
will, in the name of “security”, prevent open access to the PyPi library 
repository, and no doubt highly control it in a bureaucratic snarl, with the 
actual breadth of available packages highly restricted to only those libraries 
that are “approved for use” in a locally maintained private repository.  Sad to 
say, I can see the bureaucratic delays to get access to a library piling up 
already.

We’ve licensed a package manager (Artifactory in our case, but I imagine there 
are others) and have configured pip so that it looks there instead of PyPI. 
This is mostly so we can manage local packages that we’ve developed just for 
use at the University, and it’s actually set up to proxy PyPI for packages it 
doesn’t have already, but I believe it could be used to only allow curated 
packages, which might help with the bureaucrats.


--
Curtis Pew
ITS Campus Solutions
curtis@austin.utexas.edu




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-19 Thread Jeremy Nicoll
On Sat, 16 Mar 2024, at 18:38, Jeremy Nicoll wrote:
> On Fri, 15 Mar 2024, at 23:35, David Crayford wrote:

>> Working with REXX doesn't feel comfortable to me at all. I'm troubled 
>> by the fact that every function call carries a potential side effect. 
>
> EVERY function call?  Including calls of builtin functions?
>
> What do you mean?
>
> Is it a flaw in REXX implementation(s) or in language design?
>
> What makes the newer scripting languages unflawed?


David, would you mind answering these questions?

-- 
Jeremy Nicoll - my opinions are my own.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Andrew Rowley

On 19/03/2024 12:40 pm, David Crayford wrote:

We utilize both languages, selecting the most suitable for each task at hand. 
Our primary application runs on Java using the Spring Boot framework. We 
orchestrate records originating from various z/OS data sources, transforming 
them into JSON or other pluggable formats, and dispatch them to analytics 
platforms, AI engines, or serve Prometheus metrics. We've developed numerous 
Java record mapping classes generated by our tooling, which is crafted in 
Python using Jinja2 templates and YAML schemas. Opting for Java in this context 
wouldn't be pragmatic.


I've done JSON generation for all the SMF records supported by EasySMF 
in Java, so I guess it can be done either way. It certainly worked for me.



With AI technology already a reality, Python stands as the prevailing 
programming language of the moment. While much buzz surrounds the new Telum 
chip in the z16, the question remains: How do we leverage its potential? For 
this, we require Python libraries—either TensorFlow or PyTorch—running on s390x 
architecture (for now).


My impresson has been that Python is central to AI, but I'm curious 
about more general use cases. What you are using it for doesn't really 
tell me why you are using it. Is it a good choice for e.g. summarizing a 
few hundred million CICS SMF records? I guess AI implies processing 
large quantities of data so maybe it is. On the other hand, processing 
power tends to be less restricted on other platforms...


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread David Crayford
> On 19 Mar 2024, at 9:08 am, Andrew Rowley  
> wrote:
> 
> On 19/03/2024 11:05 am, David Crayford wrote:
>> If you’re care so much about Java catching errors at compile time then why 
>> don’t you use Kotlin instead? NPE’s are one of the most common form of Java 
>> runtime errors that can be eliminated using Kotlins null safety.
> 
> Java's not perfect, but it is powerful and it is pretty much universally 
> available on z/OS. I'm writing functions for others to build on e.g.:
> 
> https://static.blackhillsoftware.com/easysmf-rti/javadoc/com.blackhillsoftware.smf.realtime/com/blackhillsoftware/smf/realtime/package-summary.html
> 
> So using/targeting the language that is most available makes sense.
> 
> But my question was: Why Python? What are the reasons for using Python rather 
> than e.g. Java?


We utilize both languages, selecting the most suitable for each task at hand. 
Our primary application runs on Java using the Spring Boot framework. We 
orchestrate records originating from various z/OS data sources, transforming 
them into JSON or other pluggable formats, and dispatch them to analytics 
platforms, AI engines, or serve Prometheus metrics. We've developed numerous 
Java record mapping classes generated by our tooling, which is crafted in 
Python using Jinja2 templates and YAML schemas. Opting for Java in this context 
wouldn't be pragmatic. Employing SnakeYAML and utilizing a map-like interface 
for traversing the object graph, or even resorting to POJO classes and beans, 
would entail significantly more effort. Python serves as our go-to choice for 
tooling, encompassing DevOps pipelines, and managing artifactory processes.

With AI technology already a reality, Python stands as the prevailing 
programming language of the moment. While much buzz surrounds the new Telum 
chip in the z16, the question remains: How do we leverage its potential? For 
this, we require Python libraries—either TensorFlow or PyTorch—running on s390x 
architecture (for now). Our AI products process mainframe data, including SMF, 
exclusively in Python. Noteworthy examples like ChatGPT and the Autopilot AI 
model training for Tesla automobiles are also Python-based. Additionally, 
automation tools like Red Hat Ansible, written in Python, are gaining traction 
on z/OS.

Concerns about uninitialized variables and similar issues need not weigh 
heavily on our minds. Modern IDEs catch such errors in real-time, offering 
robust support akin to Java, especially when configured to block commits if 
there are outstanding liniting warnings. While I personally use the enterprise 
versions of the IntelliJ suite, VS Code stands as a commendable and cost-free 
alternative.

Though the conversation initially compared REXX to Python, it's clear they are 
fundamentally different beasts and different ends of the spectrum. Python is a 
powerful and widely-used programming language with applications across various 
industries. It underpins critical systems like the backend of Instagram's 
photo-sharing platform, and is utilized by major players such as Tesla, 
Spotify, Uber, Amazon, NASA, Netflix, and Facebook. Notably, IBM is investing 
in Python for z/OS, with the ability to run on a zIIP with a 70% generosity 
factor and libraries facilitating integration with RACF, enabling the use of 
RACF keyrings with micro web frameworks like Flask. Certainly, IBM's investment 
in Java is crucial for the future sustainability of z/OS. On the other hand, 
REXX is likely supported as cheaply as possible by a very small team, along 
with TSO.


> 
> -- 
> Andrew Rowley
> Black Hill Software
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Andrew Rowley

On 19/03/2024 11:05 am, David Crayford wrote:

If you’re care so much about Java catching errors at compile time then why 
don’t you use Kotlin instead? NPE’s are one of the most common form of Java 
runtime errors that can be eliminated using Kotlins null safety.


Java's not perfect, but it is powerful and it is pretty much universally 
available on z/OS. I'm writing functions for others to build on e.g.:


https://static.blackhillsoftware.com/easysmf-rti/javadoc/com.blackhillsoftware.smf.realtime/com/blackhillsoftware/smf/realtime/package-summary.html

So using/targeting the language that is most available makes sense.

But my question was: Why Python? What are the reasons for using Python 
rather than e.g. Java?


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Seymour J Metz
One of the things that makes a language useful is a large library. You can 
start using, e.g., Ada, C++, Java, LaTeX, ooRexx, Perl, Python, with only a 
handful of packages, and look for others as the need arises.

BTDT,GTTS

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 18, 2024 7:01 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

IMHO the learning curve for Java and all the libraries you have to know and 
understand to make it at all useful far outweighs its presumptive establishment 
 in the z/OS ecosystem.

Again IMHO Python is intended to be a scripting language and as such it shares 
much design philosophy with Rexx and awk and other scripting languages that are 
primarily interpreted rather than compiled like Java.  Mind you I am not in 
love with the “significant indentation” syntax (far too easy to make a 
structural mistake), but it takes a much smaller learning curve to deal with 
that then learning and remembering all of the lengthy Java library names you 
need to know to do anything useful (in reverse hierarchical order no less, most 
significant qualifier at the end of every “name”? really?  Whose bright idea 
was that?).

Personally I welcome having Python available by default on z/OS (which isn’t 
here yet for most shops, but hopefully will be soon), along with all the other 
open source programs and utilities being actively ported to z/OS.  The really 
tricky part of letting programmers use Python is how do they get the necessary 
non-standard libraries for themselves?  I suspect most large shops will, in the 
name of “security”, prevent open access to the PyPi library repository, and no 
doubt highly control it in a bureaucratic snarl, with the actual breadth of 
available packages highly restricted to only those libraries that are “approved 
for use” in a locally maintained private repository.  Sad to say, I can see the 
bureaucratic delays to get access to a library piling up already.

As has been said many times before:  “You can’t win, you can’t break even, and 
you can’t get out of the game.  That’s Life.”

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Andrew Rowley
Sent: Monday, March 18, 2024 6:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question


On 16/03/2024 11:17 am, David Crayford wrote:

> IBM and ISVs are working on Python APIs for products right now. And they will 
> be better than the REXX versions.



Why Python? I know it's the latest hot language, but what advantages

does it have over e.g. Java (well established on z/OS)?



I have looked into it a few times, but get as far as "significant

indentation" and "no variable declarations" and decide it's not

something I want to use. Is it a sign of weakness to ask the compiler to

help me avoid bugs?



--



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread David Crayford
Python has had type hints for ages 
https://docs.python.org/3/library/typing.html. If you use an IDE you can set 
the review to block commits if liniting fails. 

If you’re care so much about Java catching errors at compile time then why 
don’t you use Kotlin instead? NPE’s are one of the most common form of Java 
runtime errors that can be eliminated using Kotlins null safety. 

> On 19 Mar 2024, at 7:30 am, Andrew Rowley  
> wrote:
> 
> On 19/03/2024 9:53 am, Pew, Curtis G wrote:
>> You get used to the “significant indentation” thing pretty quickly. It 
>> really makes sense: you should be indenting blocks anyway to make them easy 
>> to read, so why clutter things up with braces or keywords?
>> 
>> Most scripting languages (including REXX) don’t require declaring variables. 
>> Since there’s no separate compile step you get the errors when they happen 
>> in any case, so declaring variables doesn’t buy you much.
> 
> I probably would get used to significant indentation, although I do indent 
> for readability and I'm not sure I want to be mixing readability and logic in 
> the same construct.
> 
> Explicitly declaring variables has a number of advantages:
> 
> - it flags errors due to e.g. misspellings
> 
> - it flags errors when you intend to create a new variable but reuse an 
> existing one
> 
> - it checks data types, e.g. for SMF data if you have a ZonedDateTime you 
> can't assign/compare a LocalDateTime without specifying the time zone. So the 
> class designers can protect you form a whole heap of common errors, and flag 
> them before the program starts.
> 
> -- 
> Andrew Rowley
> Black Hill Software
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Andrew Rowley

On 19/03/2024 10:01 am, Farley, Peter wrote:

IMHO the learning curve for Java and all the libraries you have to know and 
understand to make it at all useful far outweighs its presumptive establishment 
 in the z/OS ecosystem.


You really don't have to learn a lot of libraries to use Java. Basic I/O 
and Java collections will get you a very long way.


There are a lot of libraries, but they are there because they are 
(hopefully) easier than writing something yourself. You don't need to 
learn them until you actually need that function, and then you can make 
your choice whether to use an existing library or write your own.


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Andrew Rowley

On 19/03/2024 9:53 am, Pew, Curtis G wrote:

You get used to the “significant indentation” thing pretty quickly. It really 
makes sense: you should be indenting blocks anyway to make them easy to read, 
so why clutter things up with braces or keywords?

Most scripting languages (including REXX) don’t require declaring variables. 
Since there’s no separate compile step you get the errors when they happen in 
any case, so declaring variables doesn’t buy you much.


I probably would get used to significant indentation, although I do 
indent for readability and I'm not sure I want to be mixing readability 
and logic in the same construct.


Explicitly declaring variables has a number of advantages:

- it flags errors due to e.g. misspellings

- it flags errors when you intend to create a new variable but reuse an 
existing one


- it checks data types, e.g. for SMF data if you have a ZonedDateTime 
you can't assign/compare a LocalDateTime without specifying the time 
zone. So the class designers can protect you form a whole heap of common 
errors, and flag them before the program starts.


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Farley, Peter
IMHO the learning curve for Java and all the libraries you have to know and 
understand to make it at all useful far outweighs its presumptive establishment 
 in the z/OS ecosystem.

Again IMHO Python is intended to be a scripting language and as such it shares 
much design philosophy with Rexx and awk and other scripting languages that are 
primarily interpreted rather than compiled like Java.  Mind you I am not in 
love with the “significant indentation” syntax (far too easy to make a 
structural mistake), but it takes a much smaller learning curve to deal with 
that then learning and remembering all of the lengthy Java library names you 
need to know to do anything useful (in reverse hierarchical order no less, most 
significant qualifier at the end of every “name”? really?  Whose bright idea 
was that?).

Personally I welcome having Python available by default on z/OS (which isn’t 
here yet for most shops, but hopefully will be soon), along with all the other 
open source programs and utilities being actively ported to z/OS.  The really 
tricky part of letting programmers use Python is how do they get the necessary 
non-standard libraries for themselves?  I suspect most large shops will, in the 
name of “security”, prevent open access to the PyPi library repository, and no 
doubt highly control it in a bureaucratic snarl, with the actual breadth of 
available packages highly restricted to only those libraries that are “approved 
for use” in a locally maintained private repository.  Sad to say, I can see the 
bureaucratic delays to get access to a library piling up already.

As has been said many times before:  “You can’t win, you can’t break even, and 
you can’t get out of the game.  That’s Life.”

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Andrew Rowley
Sent: Monday, March 18, 2024 6:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question


On 16/03/2024 11:17 am, David Crayford wrote:

> IBM and ISVs are working on Python APIs for products right now. And they will 
> be better than the REXX versions.



Why Python? I know it's the latest hot language, but what advantages

does it have over e.g. Java (well established on z/OS)?



I have looked into it a few times, but get as far as "significant

indentation" and "no variable declarations" and decide it's not

something I want to use. Is it a sign of weakness to ask the compiler to

help me avoid bugs?



--



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Pew, Curtis G
On Mar 18, 2024, at 5:17 PM, Andrew Rowley  wrote:

Why Python? I know it's the latest hot language, but what advantages does it 
have over e.g. Java (well established on z/OS)?

The context here was using Python in place of REXX. It’s a scripting language, 
meaning you can just write your text file and then run it, without compiling or 
linking or such.


I have looked into it a few times, but get as far as "significant indentation" 
and "no variable declarations" and decide it's not something I want to use. Is 
it a sign of weakness to ask the compiler to help me avoid bugs?

You get used to the “significant indentation” thing pretty quickly. It really 
makes sense: you should be indenting blocks anyway to make them easy to read, 
so why clutter things up with braces or keywords?

Most scripting languages (including REXX) don’t require declaring variables. 
Since there’s no separate compile step you get the errors when they happen in 
any case, so declaring variables doesn’t buy you much.

Python allows me to mix object-oriented and functional programming, it doesn’t 
require a lot of “ceremony”, and it makes it easy to write short but readable 
programs.


--
Curtis Pew
ITS Campus Solutions
curtis@austin.utexas.edu




--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Andrew Rowley

On 16/03/2024 11:17 am, David Crayford wrote:

IBM and ISVs are working on Python APIs for products right now. And they will 
be better than the REXX versions.


Why Python? I know it's the latest hot language, but what advantages 
does it have over e.g. Java (well established on z/OS)?


I have looked into it a few times, but get as far as "significant 
indentation" and "no variable declarations" and decide it's not 
something I want to use. Is it a sign of weakness to ask the compiler to 
help me avoid bugs?


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Seymour J Metz
Ruby is available on *ix and W; if you're going by use then you probably want 
Java and Python.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 18, 2024 9:38 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

Perl...what environment(s) is it available in?  My usual coding platforms are 
z/OS (specifically TSO) and Windows, mostly MS Office.

I don't actually know PowerShell; I've been exposed to it, see that it's very 
powerful for some purposes, and have modified PS scripts in minor ways.  In 
other words my facility with PS is very much like younger mainframers' with 
JCL.  But since I'm supposed to be a security jock, and sometimes have reason 
to extract data from AD to compare with RACF/TSS/ACF2, I see that really 
learning PS would be a good thing.

As I've probably said here before, I lusted after ooRexx from the first day I 
heard about it, but at first couldn't see where I'd actually use it; I can't 
hand ooRexx code to clients, unless they already use it (and no one does).  I 
finally broke down and got myself a copy for a small 
plain-text-to-formatted-PDF conversion I did for an error manual; I tried 
converting the plain text to formatted RTF using VBA, but gave it up as a bad 
job and did it in ooRexx, after taking a few days off to learn what I don't 
know.  (There's a lot more to it than I expected.)  Now I use it for automation 
on my own machine, but that’s all.

Ruby -- no, never have.  Again, what environment(s) is it available on?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I have a little money, I buy books; and if I have any left, I buy food 
and clothes.  -Erasmus */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Sunday, March 17, 2024 15:14

CLIST will never go away, but I avoid it as much as possible. There is a very 
limited set of use cases for it, IMHO, and REXX has been my goto scripting 
language for decades, with a grudging nod to Perl when CPAN can make my life 
easier.

PowerShell suggests that you're not limited to Z, inwhich case it's worth 
looking at ooRexx.

Have you looked at Ruby?


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:58 PM

I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Bob Bridges
Perl...what environment(s) is it available in?  My usual coding platforms are 
z/OS (specifically TSO) and Windows, mostly MS Office.

I don't actually know PowerShell; I've been exposed to it, see that it's very 
powerful for some purposes, and have modified PS scripts in minor ways.  In 
other words my facility with PS is very much like younger mainframers' with 
JCL.  But since I'm supposed to be a security jock, and sometimes have reason 
to extract data from AD to compare with RACF/TSS/ACF2, I see that really 
learning PS would be a good thing.

As I've probably said here before, I lusted after ooRexx from the first day I 
heard about it, but at first couldn't see where I'd actually use it; I can't 
hand ooRexx code to clients, unless they already use it (and no one does).  I 
finally broke down and got myself a copy for a small 
plain-text-to-formatted-PDF conversion I did for an error manual; I tried 
converting the plain text to formatted RTF using VBA, but gave it up as a bad 
job and did it in ooRexx, after taking a few days off to learn what I don't 
know.  (There's a lot more to it than I expected.)  Now I use it for automation 
on my own machine, but that’s all.

Ruby -- no, never have.  Again, what environment(s) is it available on?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I have a little money, I buy books; and if I have any left, I buy food 
and clothes.  -Erasmus */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Sunday, March 17, 2024 15:14

CLIST will never go away, but I avoid it as much as possible. There is a very 
limited set of use cases for it, IMHO, and REXX has been my goto scripting 
language for decades, with a grudging nod to Perl when CPAN can make my life 
easier.

PowerShell suggests that you're not limited to Z, inwhich case it's worth 
looking at ooRexx.

Have you looked at Ruby?


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:58 PM

I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Mike Schwab
https://github.com/CBTTape/CBT993

Probably other CBT tape members to process.

On Sun, Mar 17, 2024 at 7:11 PM Rupert Reynolds  wrote:
>
> SMF logging of data for management information? I never did much with SMF,
> but I can't see why not.
>
> I did briefly consider being able to parse existing mapping macros, but
> that's bound to be a bigger job than it seems, especially now I'm a bit
> rusty and only have Hercules to play with.
>
> Structures (maybe 'map' because 'str' is already short for the most basic
> type of 'string'). And pointers to them, yes. Wouldn't be without them :-)
>
> I'll probably be old and slow, or losing my concentration, before it's even
> half finished. Still, it keeps me out of mischief when I'm not at work or
> converting the van for mobile glamping  :-)
>
> Roops
>
> On Sun, 17 Mar 2024, 18:31 Seymour J Metz,  wrote:
>
> > I probably would use ":=" for assignment and "=" for equality.
> >
> > Are you supporting SMF-like structures?
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> > עַם יִשְׂרָאֵל חַי
> > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >
> > 
> > From: IBM Mainframe Discussion List  on behalf
> > of Rupert Reynolds 
> > Sent: Sunday, March 17, 2024 2:08 PM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> > question
> >
> > It's too soon to publish much, especially when I have a full time job doing
> > something else. To be honest I probably never will, because it only suits
> > my pet bigotries :-)
> >
> > But briefly, I looked at day 1 notes (on back of a gas bill). They included
> > these, not all of which will ever make it into use of course:
> >
> > . fairly terse {} syntax, borrowing from 'C' etc.
> >
> > . strongly typed by default
> >
> > . one type is bignum--arbitrary precision and base arithmetic, trig, logs
> >
> > . correctness and flexibility more important than speed (like external
> > functions in Rexx scripts, for example)
> >
> > . project to include thorough test cases, and any bugs/unintended quirks in
> > either impl or tests will be fixed ruthlessly, not supported. If it fails
> > the test, it is not the real thing.
> >
> > . compiled code could include interpreter for scripting
> >
> > . preserves case, but keywords and functions etc. not case sensitive
> >
> > . all keywords can be abbreviated (eg. if min abbreviation is 3, 'fun' is
> > same as 'function')
> >
> > . '=' not required for assignment!
> >
> > . ability to convert 'C' style strings and call 'C' code
> >
> > . all built-in functions for handling null-terminated data and UTF-16 to be
> > prefixed gk_ (short for "ghastly kludge" ;-) )
> >
> > Feel free to laugh/crjticise, but please be kind--I was drinking during
> > lockdown when I finished that list :-)
> >
> > I made some progress on the bignum logarithms and trig early, borrowing
> > heavily on the external Rexx functions I used under Windows.
> >
> > It does basics such as finding and moving files interpreted, so I can use
> > it to test my Rexx admin scripts, and vice versa, but there are *huge*
> > gaps, and I'm moving house this year, so... :-)
> >
> > Roops
> >
> >
> > On Sun, 17 Mar 2024, 16:58 Seymour J Metz,  wrote:
> >
> > > >  I'm developing a language
> > >
> > > Have you published any details?
> > >
> > > --
> > > Shmuel (Seymour J.) Metz
> > > http://mason.gmu.edu/~smetz3
> > > עַם יִשְׂרָאֵל חַי
> > > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> > >
> > > 
> > > From: IBM Mainframe Discussion List  on behalf
> > > of Rupert Reynolds 
> > > Sent: Saturday, March 16, 2024 9:07 AM
> > > To: IBM-MAIN@LISTSERV.UA.EDU
> > > Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> > > question
> > >
> > > My experience of modern scripting languages, compared with classic Rexx,
> > is
> > > that they all do something new more easily, but also I can't think of one
> > > that doesn't have an obvious pitfall (such as, for example, stumbling
> > badly
> > > over certain byte values such as NUL in strings).
> > >
> > > Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
> > > certain old-fashioned quirks, are still s

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Rupert Reynolds
SMF logging of data for management information? I never did much with SMF,
but I can't see why not.

I did briefly consider being able to parse existing mapping macros, but
that's bound to be a bigger job than it seems, especially now I'm a bit
rusty and only have Hercules to play with.

Structures (maybe 'map' because 'str' is already short for the most basic
type of 'string'). And pointers to them, yes. Wouldn't be without them :-)

I'll probably be old and slow, or losing my concentration, before it's even
half finished. Still, it keeps me out of mischief when I'm not at work or
converting the van for mobile glamping  :-)

Roops

On Sun, 17 Mar 2024, 18:31 Seymour J Metz,  wrote:

> I probably would use ":=" for assignment and "=" for equality.
>
> Are you supporting SMF-like structures?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Rupert Reynolds 
> Sent: Sunday, March 17, 2024 2:08 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> question
>
> It's too soon to publish much, especially when I have a full time job doing
> something else. To be honest I probably never will, because it only suits
> my pet bigotries :-)
>
> But briefly, I looked at day 1 notes (on back of a gas bill). They included
> these, not all of which will ever make it into use of course:
>
> . fairly terse {} syntax, borrowing from 'C' etc.
>
> . strongly typed by default
>
> . one type is bignum--arbitrary precision and base arithmetic, trig, logs
>
> . correctness and flexibility more important than speed (like external
> functions in Rexx scripts, for example)
>
> . project to include thorough test cases, and any bugs/unintended quirks in
> either impl or tests will be fixed ruthlessly, not supported. If it fails
> the test, it is not the real thing.
>
> . compiled code could include interpreter for scripting
>
> . preserves case, but keywords and functions etc. not case sensitive
>
> . all keywords can be abbreviated (eg. if min abbreviation is 3, 'fun' is
> same as 'function')
>
> . '=' not required for assignment!
>
> . ability to convert 'C' style strings and call 'C' code
>
> . all built-in functions for handling null-terminated data and UTF-16 to be
> prefixed gk_ (short for "ghastly kludge" ;-) )
>
> Feel free to laugh/crjticise, but please be kind--I was drinking during
> lockdown when I finished that list :-)
>
> I made some progress on the bignum logarithms and trig early, borrowing
> heavily on the external Rexx functions I used under Windows.
>
> It does basics such as finding and moving files interpreted, so I can use
> it to test my Rexx admin scripts, and vice versa, but there are *huge*
> gaps, and I'm moving house this year, so... :-)
>
> Roops
>
>
> On Sun, 17 Mar 2024, 16:58 Seymour J Metz,  wrote:
>
> > >  I'm developing a language
> >
> > Have you published any details?
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> > עַם יִשְׂרָאֵל חַי
> > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >
> > 
> > From: IBM Mainframe Discussion List  on behalf
> > of Rupert Reynolds 
> > Sent: Saturday, March 16, 2024 9:07 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> > question
> >
> > My experience of modern scripting languages, compared with classic Rexx,
> is
> > that they all do something new more easily, but also I can't think of one
> > that doesn't have an obvious pitfall (such as, for example, stumbling
> badly
> > over certain byte values such as NUL in strings).
> >
> > Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
> > certain old-fashioned quirks, are still sometimes what I reach for when I
> > want to process some data while avoiding those pitfalls.
> >
> > The differences are so strong to me that I'm developing a language which
> is
> > effectively the best bits (IMHO) of Rexx, C and even older languages such
> > as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
> > that much effort without reason :-)
> >
> > By definition it works the same interpreted or compiled, which brings a
> > couple of restrictions I'm willing to live with :-)
> >
> > Roops
> > p.s. I'm not convinced that that familiarity is a reason to criticise
> > choosing a lan

Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
CLIST will never go away, but I avoid it as much as possible. There is a very 
limited set of use cases for it, IMHO, and REXX has been my goto scripting 
language for decades, with a grudging nod to Perl when CPAN can make my life 
easier.

PowerShell suggests that you're not limited to Z, inwhich case it's worth 
looking at ooRexx.

Have you looked at Ruby?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:58 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Friday, March 15, 2024 18:41

REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
I probably would use ":=" for assignment and "=" for equality.

Are you supporting SMF-like structures?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Rupert Reynolds 
Sent: Sunday, March 17, 2024 2:08 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

It's too soon to publish much, especially when I have a full time job doing
something else. To be honest I probably never will, because it only suits
my pet bigotries :-)

But briefly, I looked at day 1 notes (on back of a gas bill). They included
these, not all of which will ever make it into use of course:

. fairly terse {} syntax, borrowing from 'C' etc.

. strongly typed by default

. one type is bignum--arbitrary precision and base arithmetic, trig, logs

. correctness and flexibility more important than speed (like external
functions in Rexx scripts, for example)

. project to include thorough test cases, and any bugs/unintended quirks in
either impl or tests will be fixed ruthlessly, not supported. If it fails
the test, it is not the real thing.

. compiled code could include interpreter for scripting

. preserves case, but keywords and functions etc. not case sensitive

. all keywords can be abbreviated (eg. if min abbreviation is 3, 'fun' is
same as 'function')

. '=' not required for assignment!

. ability to convert 'C' style strings and call 'C' code

. all built-in functions for handling null-terminated data and UTF-16 to be
prefixed gk_ (short for "ghastly kludge" ;-) )

Feel free to laugh/crjticise, but please be kind--I was drinking during
lockdown when I finished that list :-)

I made some progress on the bignum logarithms and trig early, borrowing
heavily on the external Rexx functions I used under Windows.

It does basics such as finding and moving files interpreted, so I can use
it to test my Rexx admin scripts, and vice versa, but there are *huge*
gaps, and I'm moving house this year, so... :-)

Roops


On Sun, 17 Mar 2024, 16:58 Seymour J Metz,  wrote:

> >  I'm developing a language
>
> Have you published any details?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Rupert Reynolds 
> Sent: Saturday, March 16, 2024 9:07 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> question
>
> My experience of modern scripting languages, compared with classic Rexx, is
> that they all do something new more easily, but also I can't think of one
> that doesn't have an obvious pitfall (such as, for example, stumbling badly
> over certain byte values such as NUL in strings).
>
> Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
> certain old-fashioned quirks, are still sometimes what I reach for when I
> want to process some data while avoiding those pitfalls.
>
> The differences are so strong to me that I'm developing a language which is
> effectively the best bits (IMHO) of Rexx, C and even older languages such
> as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
> that much effort without reason :-)
>
> By definition it works the same interpreted or compiled, which brings a
> couple of restrictions I'm willing to live with :-)
>
> Roops
> p.s. I'm not convinced that that familiarity is a reason to criticise
> choosing a language. Using something you know well is often a way of giving
> bettet value and reliability for ones employers.
>
>
>
>
>
> On Sat, 16 Mar 2024, 11:49 David Crayford, <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>
> > Hey Rony,
> >
> > From what I understand, you haven't had experience working on z/OS. Let's
> > stick to the topic and focus on discussing REXX as it functions on z/OS.
> > This means no discussions about ooRexx or Java bridges, as they don't
> exist
> > and are unlikely to in the future on z/OS.
> >
> > The majority of REXX programmers here utilize classic TSO REXX and
> > primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> > module system. Therefore, any routines or libraries need to be manually
> > copied and pasted wherever they're needed, or you have to create a
> > pre-processor to merge source files together. If your language lacks the
> > fundamental basic features to sort an array then to me that’s a good
> > indication you should use one that does.
> >
&

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Rupert Reynolds
It's too soon to publish much, especially when I have a full time job doing
something else. To be honest I probably never will, because it only suits
my pet bigotries :-)

But briefly, I looked at day 1 notes (on back of a gas bill). They included
these, not all of which will ever make it into use of course:

. fairly terse {} syntax, borrowing from 'C' etc.

. strongly typed by default

. one type is bignum--arbitrary precision and base arithmetic, trig, logs

. correctness and flexibility more important than speed (like external
functions in Rexx scripts, for example)

. project to include thorough test cases, and any bugs/unintended quirks in
either impl or tests will be fixed ruthlessly, not supported. If it fails
the test, it is not the real thing.

. compiled code could include interpreter for scripting

. preserves case, but keywords and functions etc. not case sensitive

. all keywords can be abbreviated (eg. if min abbreviation is 3, 'fun' is
same as 'function')

. '=' not required for assignment!

. ability to convert 'C' style strings and call 'C' code

. all built-in functions for handling null-terminated data and UTF-16 to be
prefixed gk_ (short for "ghastly kludge" ;-) )

Feel free to laugh/crjticise, but please be kind--I was drinking during
lockdown when I finished that list :-)

I made some progress on the bignum logarithms and trig early, borrowing
heavily on the external Rexx functions I used under Windows.

It does basics such as finding and moving files interpreted, so I can use
it to test my Rexx admin scripts, and vice versa, but there are *huge*
gaps, and I'm moving house this year, so... :-)

Roops


On Sun, 17 Mar 2024, 16:58 Seymour J Metz,  wrote:

> >  I'm developing a language
>
> Have you published any details?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Rupert Reynolds 
> Sent: Saturday, March 16, 2024 9:07 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> question
>
> My experience of modern scripting languages, compared with classic Rexx, is
> that they all do something new more easily, but also I can't think of one
> that doesn't have an obvious pitfall (such as, for example, stumbling badly
> over certain byte values such as NUL in strings).
>
> Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
> certain old-fashioned quirks, are still sometimes what I reach for when I
> want to process some data while avoiding those pitfalls.
>
> The differences are so strong to me that I'm developing a language which is
> effectively the best bits (IMHO) of Rexx, C and even older languages such
> as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
> that much effort without reason :-)
>
> By definition it works the same interpreted or compiled, which brings a
> couple of restrictions I'm willing to live with :-)
>
> Roops
> p.s. I'm not convinced that that familiarity is a reason to criticise
> choosing a language. Using something you know well is often a way of giving
> bettet value and reliability for ones employers.
>
>
>
>
>
> On Sat, 16 Mar 2024, 11:49 David Crayford, <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>
> > Hey Rony,
> >
> > From what I understand, you haven't had experience working on z/OS. Let's
> > stick to the topic and focus on discussing REXX as it functions on z/OS.
> > This means no discussions about ooRexx or Java bridges, as they don't
> exist
> > and are unlikely to in the future on z/OS.
> >
> > The majority of REXX programmers here utilize classic TSO REXX and
> > primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> > module system. Therefore, any routines or libraries need to be manually
> > copied and pasted wherever they're needed, or you have to create a
> > pre-processor to merge source files together. If your language lacks the
> > fundamental basic features to sort an array then to me that’s a good
> > indication you should use one that does.
> >
> > I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating
> > my observations based on over 30 years of using REXX on z/OS, including
> > developing extensions. I believe this gives me a significant level of
> > expertise to offer commentary on the matter.
> >
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
&

Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
> every function call carries a potential side effect.

Function calls in most languages carry potential side effects. In that respect 
REXX is superior because PROCEDURE drops access to everything except what you 
expose.

> When I hear about adapting to quirks, it seems to translate to "I acknowledge 
> REXX's flaws,
>  but I stick with it because it's what I'm familiar with, even if I have to 
> tolerate it.”

Not even close: it translates to "as with any other language, you have to carve 
the bird at the joints."

> brought attention to the shortcomings and limitations of REXX as a 
> programming language.

IMHO, if you can't recognize the shortcomings and limitations of foo then you 
don't understand foo.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

Working with REXX doesn't feel comfortable to me at all. I'm troubled by the 
fact that every function call carries a potential side effect. While we can 
resort to procedures, we then encounter the challenge of dealing with 
telescoping exposure lists. When I hear about adapting to quirks, it seems to 
translate to "I acknowledge REXX's flaws, but I stick with it because it's what 
I'm familiar with, even if I have to tolerate it.” The recent discussions on 
this forum have brought attention to the shortcomings and limitations of REXX 
as a programming language.

In comparison to other platforms, Z/OS used to offer limited options in terms 
of programming languages. However, that's no longer the case. What struck me as 
ironic during my recent presentation was that the majority of the audience were 
millennials who were unfamiliar with REXX. This might come as a surprise to 
seasoned veterans of mainframes who are used to REXX, but in today's landscape, 
familiarity with it isn't necessary.

> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>
> Every language has pitfalls. While I generally prefer strongly typed 
> languages, I find Rexx and ooRexx to be comfortable to work with, and it is 
> not difficult to adapt to its quirks:
>
> <http://www.rexxla.org/Newsletter/9812safe.html>
> <http://www.rexxla.org/Newsletter/9901safe.html>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
> Sent: Friday, March 15, 2024 6:40 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Rexx numeric digits and scientific notation question
>
> REXX can indeed be quite tricky to navigate. I recently conducted a session 
> titled "Python for REXX programmers" at work, and during the preparation, I 
> was surprised (although not entirely) by the numerous traps and pitfalls 
> inherent in REXX. When you add to this its absence of basic functionalities 
> like sorting lists, it begs the question: Why opt for REXX when we have a 
> plethora of alternatives available today?
>
> The obvious answer may be familiarity, but in our industry, this argument 
> seems rather weak unless you're confined to a limited environment. After all, 
> I wouldn't want to revert to using a 1990s-era flip-top phone, let alone a 
> rotary dial from the 1970s.
>
>> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>>
>> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
>> and popped on subroutine calls. I have had this vague problem where my 
>> SIGNAL ON NOVALUE did not seem to work but at the time of an error it is 
>> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>>
>> Thanks!
>> Charles
>>
>> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
>> wrote:
>>
>>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>>> And the answer is ... "The three numeric settings are automatically saved 
>>>> across internal and external subroutine and function calls."
>>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>>> helpfully unset it on return from initialization. I thought I had done it 
>>>> that way before but I guess I have not.
>>>
>>> Funny, I work with a lot of code that has a common subroutine for 
>>> retrieving a TRACE setting to set in the main routine, and I never eve

Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
CALL ON is intend for exception handlers that return; that code should never 
have survived review.

It's SIGNAL ON that unwinds the stack.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Fri, 15 Mar 2024 23:24:38 +, Seymour J Metz wrote:

>CALL ON or SIGNAL ON?
>
???
CALL ON to a procedure coded in front of the main loop and drop
through without RETURN?  That would make things worse.

He would have wanted ITERATE ON.

>
>From:  Paul Gilmartin
>Sent: Friday, March 15, 2024 5:38 PM
>On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:
>
>>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>>co-workers
>program which handled an exception in a subroutine by SIGNAL to top of main 
>loop.
>Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a 
>larger
>data set.

--
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
For OMVS and z/Linux, ooRexx is the gold standard and comparisons to classic 
Rexx are irrelevant.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 8:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

> On 16 Mar 2024, at 7:45 am, Jay Maynard 
> <05997213d6c2-dmarc-requ...@listserv.ua.edu> wrote:
>
> That depends. Can you use, say, Python to implement all the scripting kinds
> of things you can use REXX for?

Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
shell. Let me flip that around. Can I use REXX to implement the kind of 
scripting that I do in Python? For example, process a YAML configuration file. 
We need to do that stuff on z/OS now. CICS resource definitions can be defined 
as YAML documents, configuration as code and all that stuff. DevOps, Git repos. 
REXX is a pretty poor language for anything modern.

IBM and ISVs are working on Python APIs for products right now. And they will 
be better than the REXX versions.

>
> On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>
>> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
>> the fact that every function call carries a potential side effect. While we
>> can resort to procedures, we then encounter the challenge of dealing with
>> telescoping exposure lists. When I hear about adapting to quirks, it seems
>> to translate to "I acknowledge REXX's flaws, but I stick with it because
>> it's what I'm familiar with, even if I have to tolerate it.” The recent
>> discussions on this forum have brought attention to the shortcomings and
>> limitations of REXX as a programming language.
>>
>> In comparison to other platforms, Z/OS used to offer limited options in
>> terms of programming languages. However, that's no longer the case. What
>> struck me as ironic during my recent presentation was that the majority of
>> the audience were millennials who were unfamiliar with REXX. This might
>> come as a surprise to seasoned veterans of mainframes who are used to REXX,
>> but in today's landscape, familiarity with it isn't necessary.
>>
>>> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>>>
>>> Every language has pitfalls. While I generally prefer strongly typed
>> languages, I find Rexx and ooRexx to be comfortable to work with, and it is
>> not difficult to adapt to its quirks:
>>>
>>> <http://secure-web.cisco.com/1AatOlNoQ_1AfQlinDttzfh317YDeo-4sTIzlpTQgzz972u1_a0Uc6Zjajez1X0fOgNwevYuxc3iXlnJrVcDP32Tuud8_YL99u1ssdNKutkPojNTTkGX_RUaqKJE989FehJd2D0x03lNc7Uv894CKNjAr9OrwJBwMhkh1-UjSLcA-LFnZRaQT05KZm3AFiNLGXoxpseHTdEYJUUuNLoGsu_zUd26CMLdcjitDnXq4HDv_F2aeY2jvQ4ZaZ6cyYikm1syDEzCTNddqJ6eo2fobR-7yA3ZxZy0mU1e9V_Pn1HzbxZUqJpIkiVWTiNCcGP06aS1zCODlm79HQX-r4Jx1vGhHZ2OwD5GhOciwrJQwoPtdlnhzEsKpdQh13cy2mO-jeu0DcUIbvA6gBdoPBjAdtPhmeKhh3I_vb77MATAh4Wg/http%3A%2F%2Fwww.rexxla.org%2FNewsletter%2F9812safe.html>
>>> <http://secure-web.cisco.com/1bQGzBCAzgINWEPx1EI4ITocCLWfjE3LWLYMvDqkSE01h_Gu3KHIh0Ij1onPd_24i0uwINVK7YZ6hAqCLr2RBz8nH4uQaIbzFpMUBt_lpSFys7jDAvamt_NffhO1U55zrap4UPSv15I87TcL8MhCliSyVWWcxnNd-26yPXYxSm8bredfUj1zcO0x8Uc5g6Fivf1uLVgURxNX0gICHg366LufM4etYVXfx4poXzsmQMDiZvZlDTrwQsMYp7k5_dMvgEmKKnuOJgDbByHXTgTo1KB7IAq_YrtRGjt85E0OyFMGuxYb7FtGaiKqGyHf6CARWxYV-7W5-M4GK6xMMoY1uCSyABaV5lne6hldEbt8mHFjI0_vNr1lJD0VCOUwhWzulOBrJTh0nSrgtaPqAtOlVjuG4RdKj1DHGtLBNfncxRpg/http%3A%2F%2Fwww.rexxla.org%2FNewsletter%2F9901safe.html>
>>>
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>>
>>> ____
>>> From: IBM Mainframe Discussion List  on
>> behalf of David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
>>> Sent: Friday, March 15, 2024 6:40 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Rexx numeric digits and scientific notation question
>>>
>>> REXX can indeed be quite tricky to navigate. I recently conducted a
>> session titled "Python for REXX programmers" at work, and during the
>> preparation, I was surprised (although not entirely) by the numerous traps
>> and pitfalls inherent in REXX. When you add to this its absence of basic
>> functionalities like sorting lists, it begs the question: Why opt for REXX
>> when we have a plethora of alter

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
Every language has warts, including PL/I and REXX, but I believe that they are 
the best choices for writing ISPF dialogs, especially if you are allowed to use 
PCRE.

I don't supposed that a fully supported IBM port of Ruby to z/OS will ever 
happen, but it would catch my eye if it did. Likewise replacing the current 
backlevel REXX with ooRexx.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 7:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

Hey Rony,

From what I understand, you haven't had experience working on z/OS. Let's stick 
to the topic and focus on discussing REXX as it functions on z/OS. This means 
no discussions about ooRexx or Java bridges, as they don't exist and are 
unlikely to in the future on z/OS.

The majority of REXX programmers here utilize classic TSO REXX and primarily 
work within a TSO/ISPF environment. In this setup, REXX lacks a module system. 
Therefore, any routines or libraries need to be manually copied and pasted 
wherever they're needed, or you have to create a pre-processor to merge source 
files together. If your language lacks the fundamental basic features to sort 
an array then to me that’s a good indication you should use one that does.

I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating my 
observations based on over 30 years of using REXX on z/OS, including developing 
extensions. I believe this gives me a significant level of expertise to offer 
commentary on the matter.


> On 16 Mar 2024, at 6:03 pm, Rony G. Flatscher  wrote:
>
> On 16.03.2024 01:17, David Crayford wrote:
>>> On 16 Mar 2024, at 7:45 am, Jay 
>>> Maynard<05997213d6c2-dmarc-requ...@listserv.ua.edu>  wrote:
>>>
>>> That depends. Can you use, say, Python to implement all the scripting kinds
>>> of things you can use REXX for?
>> Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
>> shell. Let me flip that around. Can I use REXX to implement the kind of 
>> scripting that I do in Python? For example, process a YAML configuration 
>> file.
> Yes, if you wanted, it is fairly easy BTW and would not be as potentially 
> dangerous if done in REXX than done with Perl or Python (cf. 
> <https://en.wikipedia.org/wiki/YAML#Security>).
>> We need to do that stuff on z/OS now. CICS resource definitions can be 
>> defined as YAML documents, configuration as code and all that stuff. DevOps, 
>> Git repos. REXX is a pretty poor language for anything modern.
>
> Again, unsubstantiated and derogative, please just stop behaving like a 
> religious warrior and stick to facts and discuss sorberly, stop your FUD 
> please!
>
>> IBM and ISVs are working on Python APIs for products right now.
> That is fine. On slides and in imaginations everything in the future is 
> always much better than what is available at present.
>> And they will be better than the REXX versions.
>
> Well, that has yet to be seen. If improvements materialize, then it would a) 
> be fine and b) be a reason to look into the existing, working REXX versions 
> for the same improvements then.
>
> A massive improvement for the mainframes were to make ooRexx available on 
> them.
>
> Combine ooRexx with the ooRexx-Java bridge and software engineers have 
> immediately gained the ability to use *any* Java API from ooRexx, without a 
> need to learn Java at all, it suffices to be able to read the HTML 
> documentation of Java classes. The easiness and the productivity gains can be 
> inferred if you know that my novices can do this successfully during the last 
> two months of the semester even becoming able to exploit the SSL/TLS Java 
> socket classes, besides awt/swing, JavaFX and some more.
>
> The potential savings for the mainframe users would be enormeous if they 
> started to exploit that combination. It is actually available already today 
> in the Linux subsystems such that one can assess the technology (I know of 
> deployments that exploit this combination in production, using ooRexx to run 
> programs that interact with DB2 using JDBC).
>
> ---rony
>
>>> On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
>>> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>>>
>>>> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
>>>> the fact that every function call carries a potential side effect. While we
>>>> can resort to procedures, we then encounter the challen

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
>  I'm developing a language

Have you published any details?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Rupert Reynolds 
Sent: Saturday, March 16, 2024 9:07 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

My experience of modern scripting languages, compared with classic Rexx, is
that they all do something new more easily, but also I can't think of one
that doesn't have an obvious pitfall (such as, for example, stumbling badly
over certain byte values such as NUL in strings).

Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
certain old-fashioned quirks, are still sometimes what I reach for when I
want to process some data while avoiding those pitfalls.

The differences are so strong to me that I'm developing a language which is
effectively the best bits (IMHO) of Rexx, C and even older languages such
as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
that much effort without reason :-)

By definition it works the same interpreted or compiled, which brings a
couple of restrictions I'm willing to live with :-)

Roops
p.s. I'm not convinced that that familiarity is a reason to criticise
choosing a language. Using something you know well is often a way of giving
bettet value and reliability for ones employers.





On Sat, 16 Mar 2024, 11:49 David Crayford, <
0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:

> Hey Rony,
>
> From what I understand, you haven't had experience working on z/OS. Let's
> stick to the topic and focus on discussing REXX as it functions on z/OS.
> This means no discussions about ooRexx or Java bridges, as they don't exist
> and are unlikely to in the future on z/OS.
>
> The majority of REXX programmers here utilize classic TSO REXX and
> primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> module system. Therefore, any routines or libraries need to be manually
> copied and pasted wherever they're needed, or you have to create a
> pre-processor to merge source files together. If your language lacks the
> fundamental basic features to sort an array then to me that’s a good
> indication you should use one that does.
>
> I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating
> my observations based on over 30 years of using REXX on z/OS, including
> developing extensions. I believe this gives me a significant level of
> expertise to offer commentary on the matter.
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
On z/Linux? Already here? In TSO? I wish, but won't hold my breathe.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

Surely that's moon-pie and dreamscapes?  There's no serious suggestion that 
that will ever happen, is there?  I'm all for it, but don't expect it ever.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rony G. Flatscher
Sent: Saturday, March 16, 2024 06:03

A massive improvement for the mainframes were to make ooRexx available on them.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Jeremy Nicoll
On Fri, 15 Mar 2024, at 23:35, David Crayford wrote:
> Working with REXX doesn't feel comfortable to me at all. I'm troubled 
> by the fact that every function call carries a potential side effect. 

EVERY function call?  Including calls of builtin functions?

What do you mean?

Is it a flaw in REXX implementation(s) or in language design?

What makes the newer scripting languages unflawed?


-- 
Jeremy Nicoll - my opinions are my own.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Bob Bridges
Surely that's moon-pie and dreamscapes?  There's no serious suggestion that 
that will ever happen, is there?  I'm all for it, but don't expect it ever.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rony G. Flatscher
Sent: Saturday, March 16, 2024 06:03

A massive improvement for the mainframes were to make ooRexx available on them.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Rupert Reynolds
My experience of modern scripting languages, compared with classic Rexx, is
that they all do something new more easily, but also I can't think of one
that doesn't have an obvious pitfall (such as, for example, stumbling badly
over certain byte values such as NUL in strings).

Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
certain old-fashioned quirks, are still sometimes what I reach for when I
want to process some data while avoiding those pitfalls.

The differences are so strong to me that I'm developing a language which is
effectively the best bits (IMHO) of Rexx, C and even older languages such
as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
that much effort without reason :-)

By definition it works the same interpreted or compiled, which brings a
couple of restrictions I'm willing to live with :-)

Roops
p.s. I'm not convinced that that familiarity is a reason to criticise
choosing a language. Using something you know well is often a way of giving
bettet value and reliability for ones employers.





On Sat, 16 Mar 2024, 11:49 David Crayford, <
0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:

> Hey Rony,
>
> From what I understand, you haven't had experience working on z/OS. Let's
> stick to the topic and focus on discussing REXX as it functions on z/OS.
> This means no discussions about ooRexx or Java bridges, as they don't exist
> and are unlikely to in the future on z/OS.
>
> The majority of REXX programmers here utilize classic TSO REXX and
> primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> module system. Therefore, any routines or libraries need to be manually
> copied and pasted wherever they're needed, or you have to create a
> pre-processor to merge source files together. If your language lacks the
> fundamental basic features to sort an array then to me that’s a good
> indication you should use one that does.
>
> I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating
> my observations based on over 30 years of using REXX on z/OS, including
> developing extensions. I believe this gives me a significant level of
> expertise to offer commentary on the matter.
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread David Crayford
dience were millennials who were unfamiliar with REXX. This might
>>>> come as a surprise to seasoned veterans of mainframes who are used to REXX,
>>>> but in today's landscape, familiarity with it isn't necessary.
>>>> 
>>>>> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>>>>> 
>>>>> Every language has pitfalls. While I generally prefer strongly typed
>>>> languages, I find Rexx and ooRexx to be comfortable to work with, and it is
>>>> not difficult to adapt to its quirks:
>>>>> <http://www.rexxla.org/Newsletter/9812safe.html>
>>>>> <http://www.rexxla.org/Newsletter/9901safe.html>
>>>>> 
>>>>> --
>>>>> Shmuel (Seymour J.) Metz
>>>>> http://mason.gmu.edu/~smetz3
>>>>> עַם יִשְׂרָאֵל חַי
>>>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>>>> 
>>>>> 
>>>>> From: IBM Mainframe Discussion List  on
>>>> behalf of David Crayford<0595a051454b-dmarc-requ...@listserv.ua.edu>
>>>>> Sent: Friday, March 15, 2024 6:40 PM
>>>>> To:IBM-MAIN@LISTSERV.UA.EDU
>>>>> Subject: Re: Rexx numeric digits and scientific notation question
>>>>> 
>>>>> REXX can indeed be quite tricky to navigate. I recently conducted a
>>>> session titled "Python for REXX programmers" at work, and during the
>>>> preparation, I was surprised (although not entirely) by the numerous traps
>>>> and pitfalls inherent in REXX. When you add to this its absence of basic
>>>> functionalities like sorting lists, it begs the question: Why opt for REXX
>>>> when we have a plethora of alternatives available today?
>>>>> The obvious answer may be familiarity, but in our industry, this
>>>> argument seems rather weak unless you're confined to a limited environment.
>>>> After all, I wouldn't want to revert to using a 1990s-era flip-top phone,
>>>> let alone a rotary dial from the 1970s.
>>>>>> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>>>>>> 
>>>>>> Well, that explains a mystery. I did not realize that SIGNAL ON was
>>>> pushed and popped on subroutine calls. I have had this vague problem where
>>>> my SIGNAL ON NOVALUE did not seem to work but at the time of an error it is
>>>> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>>>>>> Thanks!
>>>>>> Charles
>>>>>> 
>>>>>> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker <
>>>> n...@bestweb.net> wrote:
>>>>>>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills
>>>> wrote:
>>>>>>>> And the answer is ... "The three numeric settings are automatically
>>>> saved across internal and external subroutine and function calls."
>>>>>>>> I was setting numeric digits in an initialization subroutine, so Rexx
>>>> helpfully unset it on return from initialization. I thought I had done it
>>>> that way before but I guess I have not.
>>>>>>> Funny, I work with a lot of code that has a common subroutine for
>>>> retrieving a TRACE setting to set in the main routine, and I never even
>>>> thought about why, or about all the stuff that gets saved across calls!
>>>> From CALL HELPREXX on VM:
>>>>>>>> The status of DO loops and other structures:
>>>>>>> --though, importantly, not the *indices* of the loops!
>>>>>>>> Trace action:
>>>>>>>> NUMERIC settings:
>>>>>>>> ADDRESS settings:
>>>>>>>> Condition traps: (CALL ON and SIGNAL ON)
>>>>>>>> Condition information:
>>>>>>>> Elapsed-time clocks:
>>>>>>>> OPTIONS settings:
>>>>>> --
>>>>>> For IBM-MAIN subscribe / signoff / archive access instructions,
>>>>>> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>>>>> --
>>>>> For IBM-MAIN subscribe / signoff / archive access instructions,
>>>>> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>>

Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Rony G. Flatscher

On 16.03.2024 01:17, David Crayford wrote:

On 16 Mar 2024, at 7:45 am, Jay 
Maynard<05997213d6c2-dmarc-requ...@listserv.ua.edu>  wrote:

That depends. Can you use, say, Python to implement all the scripting kinds
of things you can use REXX for?

Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
shell. Let me flip that around. Can I use REXX to implement the kind of 
scripting that I do in Python? For example, process a YAML configuration file.
Yes, if you wanted, it is fairly easy BTW and would not be as potentially dangerous if done in REXX 
than done with Perl or Python (cf. <https://en.wikipedia.org/wiki/YAML#Security>).

We need to do that stuff on z/OS now. CICS resource definitions can be defined 
as YAML documents, configuration as code and all that stuff. DevOps, Git repos. 
REXX is a pretty poor language for anything modern.


Again, unsubstantiated and derogative, please just stop behaving like a religious warrior and stick 
to facts and discuss sorberly, stop your FUD please!



IBM and ISVs are working on Python APIs for products right now.
That is fine. On slides and in imaginations everything in the future is always much better than what 
is available at present.

And they will be better than the REXX versions.


Well, that has yet to be seen. If improvements materialize, then it would a) be fine and b) be a 
reason to look into the existing, working REXX versions for the same improvements then.


A massive improvement for the mainframes were to make ooRexx available on them.

Combine ooRexx with the ooRexx-Java bridge and software engineers have immediately gained the 
ability to use *any* Java API from ooRexx, without a need to learn Java at all, it suffices to be 
able to read the HTML documentation of Java classes. The easiness and the productivity gains can be 
inferred if you know that my novices can do this successfully during the last two months of the 
semester even becoming able to exploit the SSL/TLS Java socket classes, besides awt/swing, JavaFX 
and some more.


The potential savings for the mainframe users would be enormeous if they started to exploit that 
combination. It is actually available already today in the Linux subsystems such that one can assess 
the technology (I know of deployments that exploit this combination in production, using ooRexx to 
run programs that interact with DB2 using JDBC).


---rony


On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:


Working with REXX doesn't feel comfortable to me at all. I'm troubled by
the fact that every function call carries a potential side effect. While we
can resort to procedures, we then encounter the challenge of dealing with
telescoping exposure lists. When I hear about adapting to quirks, it seems
to translate to "I acknowledge REXX's flaws, but I stick with it because
it's what I'm familiar with, even if I have to tolerate it.” The recent
discussions on this forum have brought attention to the shortcomings and
limitations of REXX as a programming language.

In comparison to other platforms, Z/OS used to offer limited options in
terms of programming languages. However, that's no longer the case. What
struck me as ironic during my recent presentation was that the majority of
the audience were millennials who were unfamiliar with REXX. This might
come as a surprise to seasoned veterans of mainframes who are used to REXX,
but in today's landscape, familiarity with it isn't necessary.


On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:

Every language has pitfalls. While I generally prefer strongly typed

languages, I find Rexx and ooRexx to be comfortable to work with, and it is
not difficult to adapt to its quirks:

<http://www.rexxla.org/Newsletter/9812safe.html>
<http://www.rexxla.org/Newsletter/9901safe.html>

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on

behalf of David Crayford<0595a051454b-dmarc-requ...@listserv.ua.edu>

Sent: Friday, March 15, 2024 6:40 PM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

REXX can indeed be quite tricky to navigate. I recently conducted a

session titled "Python for REXX programmers" at work, and during the
preparation, I was surprised (although not entirely) by the numerous traps
and pitfalls inherent in REXX. When you add to this its absence of basic
functionalities like sorting lists, it begs the question: Why opt for REXX
when we have a plethora of alternatives available today?

The obvious answer may be familiarity, but in our industry, this

argument seems rather weak unless you're confined to a limited environment.
After all, I wouldn't want to revert to using a 1990s-era flip-top phone,
let alone a rotary dial from the 1970s.

On 1

Hmm, 2 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Rony G. Flatscher
ork with, and it is not difficult 
to adapt to its quirks:

<http://www.rexxla.org/Newsletter/9812safe.html>
<http://www.rexxla.org/Newsletter/9901safe.html>

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of David 
Crayford<0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 6:40 PM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

REXX can indeed be quite tricky to navigate. I recently conducted a session titled 
"Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent in REXX. 
When you add to this its absence of basic functionalities like sorting lists, it begs the 
question: Why opt for REXX when we have a plethora of alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.


On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:

Well, that explains a mystery. I did not realize that SIGNAL ON was pushed and 
popped on subroutine calls. I have had this vague problem where my SIGNAL ON 
NOVALUE did not seem to work but at the time of an error it is always easier to 
fix the NOVALUE condition than troubleshoot the SIGNAL ON.

Thanks!
Charles

On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
wrote:


On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:

And the answer is ... "The three numeric settings are automatically saved across 
internal and external subroutine and function calls."
I was setting numeric digits in an initialization subroutine, so Rexx helpfully 
unset it on return from initialization. I thought I had done it that way before 
but I guess I have not.

Funny, I work with a lot of code that has a common subroutine for retrieving a 
TRACE setting to set in the main routine, and I never even thought about why, 
or about all the stuff that gets saved across calls!  From CALL HELPREXX on VM:


The status of DO loops and other structures:

--though, importantly, not the *indices* of the loops!

Trace action:
NUMERIC settings:
ADDRESS settings:
Condition traps: (CALL ON and SIGNAL ON)
Condition information:
Elapsed-time clocks:
OPTIONS settings:

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN


--
--
__

Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__





--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Hmm, 1 ... (Re: Rexx numeric digits and scientific notation question

2024-03-16 Thread Rony G. Flatscher

On 15.03.2024 23:40, David Crayford wrote:

REXX can indeed be quite tricky to navigate. I recently conducted a session titled 
"Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent in REXX.
There are no "numerous pitfalls inherent in REXX", it therefore is a form of badmouthing that I 
would expect from a religious language warrior, not from a sorber software engineer.

When you add to this its absence of basic functionalities like sorting lists, 
it begs the question: Why opt for REXX when we have a plethora of alternatives 
available today?


The first has nothing to do with the second. Anyone who needs sorting capabitites of lists can do so 
in Rexx.


For a professional software engineer it is mandatory that he knows more than one programming 
language if he wishes to be able to solve problems adequately.



The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.


The obvious answer would rather be that there is a plethora of Rexx that has been developed over the 
decades that reliably and efficiently solves problems. From a business administration point of view 
it would be quite stupid to forgo well tested and working software.


---rony



On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:

Well, that explains a mystery. I did not realize that SIGNAL ON was pushed and 
popped on subroutine calls. I have had this vague problem where my SIGNAL ON 
NOVALUE did not seem to work but at the time of an error it is always easier to 
fix the NOVALUE condition than troubleshoot the SIGNAL ON.

Thanks!
Charles

On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
wrote:


On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:

And the answer is ... "The three numeric settings are automatically saved across 
internal and external subroutine and function calls."
I was setting numeric digits in an initialization subroutine, so Rexx helpfully 
unset it on return from initialization. I thought I had done it that way before 
but I guess I have not.

Funny, I work with a lot of code that has a common subroutine for retrieving a 
TRACE setting to set in the main routine, and I never even thought about why, 
or about all the stuff that gets saved across calls!  From CALL HELPREXX on VM:


The status of DO loops and other structures:

--though, importantly, not the *indices* of the loops!

Trace action:
NUMERIC settings:
ADDRESS settings:
Condition traps: (CALL ON and SIGNAL ON)
Condition information:
Elapsed-time clocks:


--
--
__

Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Bob Bridges
And there, I guess, is the answer to my question; no, I can safely stick with 
REXX for now, and leave Python alone, since Python is limited to OMVS.  Maybe 
someday if I become a serious Unix jock.

(The assertion that TSO isn't "modern" doesn't concern me.)

I still meant what I said about being interested in tacking on a next language. 
 I hear a lot about Lua these days

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Thousands of years ago, Egyptians worshiped cats.  Cats have never forgotten 
this. */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Friday, March 15, 2024 20:17

Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
shell. Let me flip that around. Can I use REXX to implement the kind of 
scripting that I do in Python? For example, process a YAML configuration file. 
We need to do that stuff on z/OS now. CICS resource definitions can be defined 
as YAML documents, configuration as code and all that stuff. DevOps, Git repos. 
REXX is a pretty poor language for anything modern. 

> --- On 16 Mar 2024, at 7:45 am, Jay Maynard 
> <05997213d6c2-dmarc-requ...@listserv.ua.edu> wrote:
> Can you use, say, Python to implement all the scripting kinds of things you 
> can use REXX for?

-Original Message-
From: robhbrid...@gmail.com  
Sent: Friday, March 15, 2024 19:58

Python is better, you say?  But can I use it in the TSO environment?  If it's 
only for Unix, I may pass for now.  I still work for multiple clients and it 
seems to me I could usefully focus on languages that the clients are likely to 
use themselves.  That means TSO REXX, VBA and VBS, SQL, assembler, probably 
PowerShell, maybe PL/1...  What else?  Seriously I'm open to the next one I 
should tackle.  I keep hearing about Python, Lua, Ruby, C++ and others, but in 
what environment(s) would I use them?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread David Crayford
> On 16 Mar 2024, at 7:45 am, Jay Maynard 
> <05997213d6c2-dmarc-requ...@listserv.ua.edu> wrote:
> 
> That depends. Can you use, say, Python to implement all the scripting kinds
> of things you can use REXX for?

Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
shell. Let me flip that around. Can I use REXX to implement the kind of 
scripting that I do in Python? For example, process a YAML configuration file. 
We need to do that stuff on z/OS now. CICS resource definitions can be defined 
as YAML documents, configuration as code and all that stuff. DevOps, Git repos. 
REXX is a pretty poor language for anything modern. 

IBM and ISVs are working on Python APIs for products right now. And they will 
be better than the REXX versions. 

> 
> On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
> 
>> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
>> the fact that every function call carries a potential side effect. While we
>> can resort to procedures, we then encounter the challenge of dealing with
>> telescoping exposure lists. When I hear about adapting to quirks, it seems
>> to translate to "I acknowledge REXX's flaws, but I stick with it because
>> it's what I'm familiar with, even if I have to tolerate it.” The recent
>> discussions on this forum have brought attention to the shortcomings and
>> limitations of REXX as a programming language.
>> 
>> In comparison to other platforms, Z/OS used to offer limited options in
>> terms of programming languages. However, that's no longer the case. What
>> struck me as ironic during my recent presentation was that the majority of
>> the audience were millennials who were unfamiliar with REXX. This might
>> come as a surprise to seasoned veterans of mainframes who are used to REXX,
>> but in today's landscape, familiarity with it isn't necessary.
>> 
>>> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>>> 
>>> Every language has pitfalls. While I generally prefer strongly typed
>> languages, I find Rexx and ooRexx to be comfortable to work with, and it is
>> not difficult to adapt to its quirks:
>>> 
>>> <http://www.rexxla.org/Newsletter/9812safe.html>
>>> <http://www.rexxla.org/Newsletter/9901safe.html>
>>> 
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>> 
>>> ____
>>> From: IBM Mainframe Discussion List  on
>> behalf of David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
>>> Sent: Friday, March 15, 2024 6:40 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Rexx numeric digits and scientific notation question
>>> 
>>> REXX can indeed be quite tricky to navigate. I recently conducted a
>> session titled "Python for REXX programmers" at work, and during the
>> preparation, I was surprised (although not entirely) by the numerous traps
>> and pitfalls inherent in REXX. When you add to this its absence of basic
>> functionalities like sorting lists, it begs the question: Why opt for REXX
>> when we have a plethora of alternatives available today?
>>> 
>>> The obvious answer may be familiarity, but in our industry, this
>> argument seems rather weak unless you're confined to a limited environment.
>> After all, I wouldn't want to revert to using a 1990s-era flip-top phone,
>> let alone a rotary dial from the 1970s.
>>> 
>>>> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>>>> 
>>>> Well, that explains a mystery. I did not realize that SIGNAL ON was
>> pushed and popped on subroutine calls. I have had this vague problem where
>> my SIGNAL ON NOVALUE did not seem to work but at the time of an error it is
>> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>>>> 
>>>> Thanks!
>>>> Charles
>>>> 
>>>> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker <
>> n...@bestweb.net> wrote:
>>>> 
>>>>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills 
>> wrote:
>>>>>> And the answer is ... "The three numeric settings are automatically
>> saved across internal and external subroutine and function calls."
>>>>>> I was setting numeric digits in an initialization subroutine, so Rexx
>> helpfully unset it on return from ini

Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Bob Bridges
I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Friday, March 15, 2024 18:41

REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Paul Gilmartin
On Fri, 15 Mar 2024 23:24:38 +, Seymour J Metz wrote:

>CALL ON or SIGNAL ON?
> 
???
CALL ON to a procedure coded in front of the main loop and drop
through without RETURN?  That would make things worse.

He would have wanted ITERATE ON.

>
>From:  Paul Gilmartin 
>Sent: Friday, March 15, 2024 5:38 PM
>On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:
>
>>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>>co-workers
>program which handled an exception in a subroutine by SIGNAL to top of main 
>loop.
>Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a 
>larger
>data set.

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Jay Maynard
That depends. Can you use, say, Python to implement all the scripting kinds
of things you can use REXX for?

On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:

> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
> the fact that every function call carries a potential side effect. While we
> can resort to procedures, we then encounter the challenge of dealing with
> telescoping exposure lists. When I hear about adapting to quirks, it seems
> to translate to "I acknowledge REXX's flaws, but I stick with it because
> it's what I'm familiar with, even if I have to tolerate it.” The recent
> discussions on this forum have brought attention to the shortcomings and
> limitations of REXX as a programming language.
>
> In comparison to other platforms, Z/OS used to offer limited options in
> terms of programming languages. However, that's no longer the case. What
> struck me as ironic during my recent presentation was that the majority of
> the audience were millennials who were unfamiliar with REXX. This might
> come as a surprise to seasoned veterans of mainframes who are used to REXX,
> but in today's landscape, familiarity with it isn't necessary.
>
> > On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
> >
> > Every language has pitfalls. While I generally prefer strongly typed
> languages, I find Rexx and ooRexx to be comfortable to work with, and it is
> not difficult to adapt to its quirks:
> >
> > <http://www.rexxla.org/Newsletter/9812safe.html>
> > <http://www.rexxla.org/Newsletter/9901safe.html>
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> > עַם יִשְׂרָאֵל חַי
> > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >
> > 
> > From: IBM Mainframe Discussion List  on
> behalf of David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
> > Sent: Friday, March 15, 2024 6:40 PM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Rexx numeric digits and scientific notation question
> >
> > REXX can indeed be quite tricky to navigate. I recently conducted a
> session titled "Python for REXX programmers" at work, and during the
> preparation, I was surprised (although not entirely) by the numerous traps
> and pitfalls inherent in REXX. When you add to this its absence of basic
> functionalities like sorting lists, it begs the question: Why opt for REXX
> when we have a plethora of alternatives available today?
> >
> > The obvious answer may be familiarity, but in our industry, this
> argument seems rather weak unless you're confined to a limited environment.
> After all, I wouldn't want to revert to using a 1990s-era flip-top phone,
> let alone a rotary dial from the 1970s.
> >
> >> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
> >>
> >> Well, that explains a mystery. I did not realize that SIGNAL ON was
> pushed and popped on subroutine calls. I have had this vague problem where
> my SIGNAL ON NOVALUE did not seem to work but at the time of an error it is
> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
> >>
> >> Thanks!
> >> Charles
> >>
> >> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker <
> n...@bestweb.net> wrote:
> >>
> >>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills 
> wrote:
> >>>> And the answer is ... "The three numeric settings are automatically
> saved across internal and external subroutine and function calls."
> >>>> I was setting numeric digits in an initialization subroutine, so Rexx
> helpfully unset it on return from initialization. I thought I had done it
> that way before but I guess I have not.
> >>>
> >>> Funny, I work with a lot of code that has a common subroutine for
> retrieving a TRACE setting to set in the main routine, and I never even
> thought about why, or about all the stuff that gets saved across calls!
> From CALL HELPREXX on VM:
> >>>
> >>>> The status of DO loops and other structures:
> >>> --though, importantly, not the *indices* of the loops!
> >>>> Trace action:
> >>>> NUMERIC settings:
> >>>> ADDRESS settings:
> >>>> Condition traps: (CALL ON and SIGNAL ON)
> >>>> Condition information:
> >>>> Elapsed-time clocks:
> >>>> OPTIONS settings:
> >>
> >> --
> >> For IBM-MAIN subscribe / signoff / archive access in

Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread David Crayford
Working with REXX doesn't feel comfortable to me at all. I'm troubled by the 
fact that every function call carries a potential side effect. While we can 
resort to procedures, we then encounter the challenge of dealing with 
telescoping exposure lists. When I hear about adapting to quirks, it seems to 
translate to "I acknowledge REXX's flaws, but I stick with it because it's what 
I'm familiar with, even if I have to tolerate it.” The recent discussions on 
this forum have brought attention to the shortcomings and limitations of REXX 
as a programming language. 

In comparison to other platforms, Z/OS used to offer limited options in terms 
of programming languages. However, that's no longer the case. What struck me as 
ironic during my recent presentation was that the majority of the audience were 
millennials who were unfamiliar with REXX. This might come as a surprise to 
seasoned veterans of mainframes who are used to REXX, but in today's landscape, 
familiarity with it isn't necessary.

> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
> 
> Every language has pitfalls. While I generally prefer strongly typed 
> languages, I find Rexx and ooRexx to be comfortable to work with, and it is 
> not difficult to adapt to its quirks:
> 
> <http://www.rexxla.org/Newsletter/9812safe.html>
> <http://www.rexxla.org/Newsletter/9901safe.html>
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
> Sent: Friday, March 15, 2024 6:40 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Rexx numeric digits and scientific notation question
> 
> REXX can indeed be quite tricky to navigate. I recently conducted a session 
> titled "Python for REXX programmers" at work, and during the preparation, I 
> was surprised (although not entirely) by the numerous traps and pitfalls 
> inherent in REXX. When you add to this its absence of basic functionalities 
> like sorting lists, it begs the question: Why opt for REXX when we have a 
> plethora of alternatives available today?
> 
> The obvious answer may be familiarity, but in our industry, this argument 
> seems rather weak unless you're confined to a limited environment. After all, 
> I wouldn't want to revert to using a 1990s-era flip-top phone, let alone a 
> rotary dial from the 1970s.
> 
>> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>> 
>> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
>> and popped on subroutine calls. I have had this vague problem where my 
>> SIGNAL ON NOVALUE did not seem to work but at the time of an error it is 
>> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>> 
>> Thanks!
>> Charles
>> 
>> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
>> wrote:
>> 
>>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>>> And the answer is ... "The three numeric settings are automatically saved 
>>>> across internal and external subroutine and function calls."
>>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>>> helpfully unset it on return from initialization. I thought I had done it 
>>>> that way before but I guess I have not.
>>> 
>>> Funny, I work with a lot of code that has a common subroutine for 
>>> retrieving a TRACE setting to set in the main routine, and I never even 
>>> thought about why, or about all the stuff that gets saved across calls!  
>>> From CALL HELPREXX on VM:
>>> 
>>>> The status of DO loops and other structures:
>>> --though, importantly, not the *indices* of the loops!
>>>> Trace action:
>>>> NUMERIC settings:
>>>> ADDRESS settings:
>>>> Condition traps: (CALL ON and SIGNAL ON)
>>>> Condition information:
>>>> Elapsed-time clocks:
>>>> OPTIONS settings:
>> 
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
CALL ON or SIGNAL ON?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 5:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:

>The SIGNAL statement unwinds the stack in a very disruptive fashion; its 
>behavior is unlike GOTO in any language that I am familiar with. Use it for 
>anything but exception handling at your peril.
>
>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>co-workers
program which handled an exception in a subroutine by SIGNAL to top of main 
loop.
Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a larger
data set.

--
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
Every language has pitfalls. While I generally prefer strongly typed languages, 
I find Rexx and ooRexx to be comfortable to work with, and it is not difficult 
to adapt to its quirks:

<http://www.rexxla.org/Newsletter/9812safe.html>
<http://www.rexxla.org/Newsletter/9901safe.html>

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 6:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>
> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
> and popped on subroutine calls. I have had this vague problem where my SIGNAL 
> ON NOVALUE did not seem to work but at the time of an error it is always 
> easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>
> Thanks!
> Charles
>
> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
> wrote:
>
>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>> And the answer is ... "The three numeric settings are automatically saved 
>>> across internal and external subroutine and function calls."
>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>> helpfully unset it on return from initialization. I thought I had done it 
>>> that way before but I guess I have not.
>>
>> Funny, I work with a lot of code that has a common subroutine for retrieving 
>> a TRACE setting to set in the main routine, and I never even thought about 
>> why, or about all the stuff that gets saved across calls!  From CALL 
>> HELPREXX on VM:
>>
>>> The status of DO loops and other structures:
>> --though, importantly, not the *indices* of the loops!
>>> Trace action:
>>> NUMERIC settings:
>>> ADDRESS settings:
>>> Condition traps: (CALL ON and SIGNAL ON)
>>> Condition information:
>>> Elapsed-time clocks:
>>> OPTIONS settings:
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread David Crayford
REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
> 
> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
> and popped on subroutine calls. I have had this vague problem where my SIGNAL 
> ON NOVALUE did not seem to work but at the time of an error it is always 
> easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
> 
> Thanks!
> Charles
> 
> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
> wrote:
> 
>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>> And the answer is ... "The three numeric settings are automatically saved 
>>> across internal and external subroutine and function calls."
>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>> helpfully unset it on return from initialization. I thought I had done it 
>>> that way before but I guess I have not.
>> 
>> Funny, I work with a lot of code that has a common subroutine for retrieving 
>> a TRACE setting to set in the main routine, and I never even thought about 
>> why, or about all the stuff that gets saved across calls!  From CALL 
>> HELPREXX on VM:
>> 
>>> The status of DO loops and other structures:
>> --though, importantly, not the *indices* of the loops!
>>> Trace action:
>>> NUMERIC settings:
>>> ADDRESS settings:
>>> Condition traps: (CALL ON and SIGNAL ON)
>>> Condition information:
>>> Elapsed-time clocks:
>>> OPTIONS settings:
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Paul Gilmartin
On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:

>The SIGNAL statement unwinds the stack in a very disruptive fashion; its 
>behavior is unlike GOTO in any language that I am familiar with. Use it for 
>anything but exception handling at your peril.
>
>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>co-workers
program which handled an exception in a subroutine by SIGNAL to top of main 
loop.
Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a larger
data set.

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
The SIGNAL statement unwinds the stack in a very disruptive fashion; its 
behavior is unlike GOTO in any language that I am familiar with. Use it for 
anything but exception handling at your peril.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 12:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

My problem is that I think of SIGNAL as a sort of careless GOTO.  No doubt it's 
often used that way (and really I have nothing against GOTO, when used in 
moderation), but since I know it isn't ~exactly~ a GOTO, in practice I don't 
use it at all because I don't feel I understand exactly what it does.  I don't 
trust it, and I haven't yet bothered to learn to be comfortable with it.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* As a father, I have a vested interest in seeing my children do well in 
school.  If they don't, they won't graduate, and will probably wind up living 
in my house until they are thirty years old.  This will interfere with my plan 
to reach retirement age without killing another human being.  -W Bruce Cameron, 
_Study Habits_ (2001) */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rupert Reynolds
Sent: Thursday, March 14, 2024 22:22

As a style thing, I'd be quite happy to initialise everything inline once, but 
if I need to re-initialise then I'd want to be sure everything is the same 
second time around, so I'd probably use 'procedure expose' to initialise (and 
'signal on novalue' as well, to avoid being caught out by different behaviour 
on the second time around).

There's nothing wrong with 'signal', of course, except that a lot of people 
reading the code won't be expecting it :-)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Charles Mills
Well, that explains a mystery. I did not realize that SIGNAL ON was pushed and 
popped on subroutine calls. I have had this vague problem where my SIGNAL ON 
NOVALUE did not seem to work but at the time of an error it is always easier to 
fix the NOVALUE condition than troubleshoot the SIGNAL ON.

Thanks!
Charles

On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
wrote:

>On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>And the answer is ... "The three numeric settings are automatically saved 
>>across internal and external subroutine and function calls."
>>I was setting numeric digits in an initialization subroutine, so Rexx 
>>helpfully unset it on return from initialization. I thought I had done it 
>>that way before but I guess I have not.
>
>Funny, I work with a lot of code that has a common subroutine for retrieving a 
>TRACE setting to set in the main routine, and I never even thought about why, 
>or about all the stuff that gets saved across calls!  From CALL HELPREXX on VM:
>
>>The status of DO loops and other structures: 
>  --though, importantly, not the *indices* of the loops!
>>Trace action:
>>NUMERIC settings:
>>ADDRESS settings:
>>Condition traps: (CALL ON and SIGNAL ON)
>>Condition information:
>>Elapsed-time clocks:
>>OPTIONS settings:

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Charles Mills
I'll bite. IMHO *nothing* that I can imagine justifies using SIGNAL as a 
pseudo-call/return GOTO.

I would "modularize" initialization that cannot (for the reasons discussed here 
recently) go into a subroutine by surrounding the instructions with 
"eyecatcher" comments.

Charles

On Thu, 14 Mar 2024 20:43:31 -0400, Phil Smith III  wrote:

>For me, this prompts discussion over "Is using SIGNAL worse than not 
>modularizing the initialization?":
>
>/**/
>stuff
>signal DoInit
>DoneInit:
>.
>
>DoInit:
>numeric digits 40
>.
>signal DoneInit
>
>---
>
>Discuss :)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-15 Thread Bob Bridges
My problem is that I think of SIGNAL as a sort of careless GOTO.  No doubt it's 
often used that way (and really I have nothing against GOTO, when used in 
moderation), but since I know it isn't ~exactly~ a GOTO, in practice I don't 
use it at all because I don't feel I understand exactly what it does.  I don't 
trust it, and I haven't yet bothered to learn to be comfortable with it.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* As a father, I have a vested interest in seeing my children do well in 
school.  If they don't, they won't graduate, and will probably wind up living 
in my house until they are thirty years old.  This will interfere with my plan 
to reach retirement age without killing another human being.  -W Bruce Cameron, 
_Study Habits_ (2001) */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rupert Reynolds
Sent: Thursday, March 14, 2024 22:22

As a style thing, I'd be quite happy to initialise everything inline once, but 
if I need to re-initialise then I'd want to be sure everything is the same 
second time around, so I'd probably use 'procedure expose' to initialise (and 
'signal on novalue' as well, to avoid being caught out by different behaviour 
on the second time around).

There's nothing wrong with 'signal', of course, except that a lot of people 
reading the code won't be expecting it :-)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-14 Thread Rupert Reynolds
As a style thing, I'd be quite happy to initialise everything inline once,
but if I need to re-initialise then I'd want to be sure everything is the
same second time around, so I'd probably use 'procedure expose' to
initialise (and 'signal on novalue' as well, to avoid being caught out by
different behaviour on the second time around).

There's nothing wrong with 'signal', of course, except that a lot of people
reading the code won't be expecting it :-)

Roops

On Fri, 15 Mar 2024, 00:43 Phil Smith III,  wrote:

> For me, this prompts discussion over "Is using SIGNAL worse than not
> modularizing the initialization?":
>
> /**/
> stuff
> signal DoInit
> DoneInit:
> .
>
> DoInit:
> numeric digits 40
> .
> signal DoneInit
>
> ---
>
> Discuss :)
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-14 Thread Phil Smith III
For me, this prompts discussion over "Is using SIGNAL worse than not 
modularizing the initialization?":

/**/
stuff
signal DoInit
DoneInit:
.

DoInit:
numeric digits 40
.
signal DoneInit

---

Discuss :)


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-14 Thread Glenn Knickerbocker
On Thu, 14 Mar 2024 18:15:18 +, Rupert Reynolds  wrote:
>I *think* this only applies with calls to labels with 'procedure',  but I
>might be wrong.

PROCEDURE only affects whether *variables* are exposed to the called 
routine--so it would affect the indices of the DO loops, but none of the other 
things that are saved across the call.

>Also, there's nothing stopping us from using 'procedure exposure name1
>name2 name3' to set name1 etc. in a function that initialises them, if we
>want (especially if we will want to reinitialise everything at some stage).
>
>Roops
>
>On Thu, 14 Mar 2024, 17:04 Glenn Knickerbocker,  wrote:
>
>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills 
>> wrote:
>> >And the answer is ... "The three numeric settings are automatically saved
>> across internal and external subroutine and function calls."
>> >I was setting numeric digits in an initialization subroutine, so Rexx
>> helpfully unset it on return from initialization. I thought I had done it
>> that way before but I guess I have not.
>>
>> Funny, I work with a lot of code that has a common subroutine for
>> retrieving a TRACE setting to set in the main routine, and I never even
>> thought about why, or about all the stuff that gets saved across calls!
>> From CALL HELPREXX on VM:
>>
>> >The status of DO loops and other structures:
>>   --though, importantly, not the *indices* of the loops!
>> >Trace action:
>> >NUMERIC settings:
>> >ADDRESS settings:
>> >Condition traps: (CALL ON and SIGNAL ON)
>> >Condition information:
>> >Elapsed-time clocks:
>> >OPTIONS settings:
>>
>> ¬R

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-14 Thread Rupert Reynolds
I *think* this only applies with calls to labels with 'procedure',  but I
might be wrong.

Also, there's nothing stopping us from using 'procedure exposure name1
name2 name3' to set name1 etc. in a function that initialises them, if we
want (especially if we will want to reinitialise everything at some stage).

Roops

On Thu, 14 Mar 2024, 17:04 Glenn Knickerbocker,  wrote:

> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills 
> wrote:
> >And the answer is ... "The three numeric settings are automatically saved
> across internal and external subroutine and function calls."
> >I was setting numeric digits in an initialization subroutine, so Rexx
> helpfully unset it on return from initialization. I thought I had done it
> that way before but I guess I have not.
>
> Funny, I work with a lot of code that has a common subroutine for
> retrieving a TRACE setting to set in the main routine, and I never even
> thought about why, or about all the stuff that gets saved across calls!
> From CALL HELPREXX on VM:
>
> >The status of DO loops and other structures:
>   --though, importantly, not the *indices* of the loops!
> >Trace action:
> >NUMERIC settings:
> >ADDRESS settings:
> >Condition traps: (CALL ON and SIGNAL ON)
> >Condition information:
> >Elapsed-time clocks:
> >OPTIONS settings:
>
> ¬R
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-14 Thread Glenn Knickerbocker
On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>And the answer is ... "The three numeric settings are automatically saved 
>across internal and external subroutine and function calls."
>I was setting numeric digits in an initialization subroutine, so Rexx 
>helpfully unset it on return from initialization. I thought I had done it that 
>way before but I guess I have not.

Funny, I work with a lot of code that has a common subroutine for retrieving a 
TRACE setting to set in the main routine, and I never even thought about why, 
or about all the stuff that gets saved across calls!  From CALL HELPREXX on VM:

>The status of DO loops and other structures: 
  --though, importantly, not the *indices* of the loops!
>Trace action:
>NUMERIC settings:
>ADDRESS settings:
>Condition traps: (CALL ON and SIGNAL ON)
>Condition information:
>Elapsed-time clocks:
>OPTIONS settings:

¬R

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-13 Thread Charles Mills
And the answer is ... "The three numeric settings are automatically saved 
across internal and external subroutine and function calls."

I was setting numeric digits in an initialization subroutine, so Rexx helpfully 
unset it on return from initialization. I thought I had done it that way before 
but I guess I have not.

Putting in a SAY for DIGITS() showed that it was 9, and I tracked it down from 
there.

Thanks all for your patience and suggestions.

CM

On Wed, 13 Mar 2024 01:04:41 +, Rupert Reynolds  wrote:

>Worth checking DIGITS after function calls--I forget the exact
>circumstances, but I remember a surprise return to defaults happened at
>times.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-12 Thread Rupert Reynolds
Worth checking DIGITS after function calls--I forget the exact
circumstances, but I remember a surprise return to defaults happened at
times.

Roops

On Wed, 13 Mar 2024, 00:14 Charles Mills,  wrote:

> Well sure enough, a Say right after the NUMERIC DIGITS 15 works as
> expected.
>
> There are no other NUMERIC instructions in the program.
>
> What else could be messing me up?
>
> The program is not unusual. The most interesting thing is an EXECIO DISKR
> 1.
>
> Charles
>
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-12 Thread Sri Hari Kolusu
Charles,

Can you display the form just before you display the multiplied value?

say 'numeric form is : ' form()
say 8947 * 864


Thanks,
Kolusu



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-12 Thread Charles Mills
Well sure enough, a Say right after the NUMERIC DIGITS 15 works as expected.

There are no other NUMERIC instructions in the program.

What else could be messing me up?

The program is not unusual. The most interesting thing is an EXECIO DISKR 1.

Charles


On Tue, 12 Mar 2024 19:39:21 +0200, Itschak Mugzach 
 wrote:

>Charles,
>
>Tried it with 20, 12 and 11 numeric digits. All returned the correct number
>(7730208). Your problem may be related to numeric FORM.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-12 Thread Paul Gilmartin
On Tue, 12 Mar 2024 12:29:16 -0500, Charles Mills  wrote:
>
>(Why do I care? I am subsequently going to add a relatively small number to 
>the product and don't want to lose low-order digits.)
> 
Set DIGITS to (FSVO) enough.

>I tried using FORMAT but unless I use it in every subsequent calculation Rexx 
>goes back to scientific notation and I lose low order digits.
> 
Then use FORMAT() (only) to format output for display;

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx numeric digits and scientific notation question

2024-03-12 Thread Itschak Mugzach
Charles,

Tried it with 20, 12 and 11 numeric digits. All returned the correct number
(7730208). Your problem may be related to numeric FORM.

Best,
ITschak

*| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux
and IBM I **|  *

*|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
*Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il  **|*





On Tue, Mar 12, 2024 at 7:29 PM Charles Mills  wrote:

> In a Rexx program I start out by executing NUMERIC DIGITS 15 (and I have
> also tried 11 and 13 and gotten the same result).
>
> For 8947 * 864 I am getting a result of 7.73020800E+10 rather than the
> desired 7730208.
>
> Is this to be expected? I interpret the Rexx documentation as saying that
> a result is only converted to scientific notation when it exceeds NUMERIC
> DIGITS.
>
> Where am I going wrong? Or more to the point, how do I get the desired
> result?
>
> (Why do I care? I am subsequently going to add a relatively small number
> to the product and don't want to lose low-order digits.)
>
> I tried using FORMAT but unless I use it in every subsequent calculation
> Rexx goes back to scientific notation and I lose low order digits.
>
> Thanks,
> Charles
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN