Re: Rexx numeric digits and scientific notation question
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
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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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