On 22/06/2021 7:23 pm, Seymour J Metz wrote:
Yes, I know that TSO support requires heavy lifting, and not just for fopen().


Lua ports to TSO/MVS just fine with no changes because it uses fopen(). All I had to do was add "dd:lua(%s)" to package.lua and it just worked. Lua runs in CICS no problems. Rocket's Python port uses fopen() but it requires enhanced ASCII file tagging so it's off the table for integration.



The problem is that those "more modern" languages don't support the close 
integration of scripts to applications that REXX supports.

Lua4z has modules for TSO, ISPF and the IO library supports all types of access methods including VSAM KSDS/ESDS/RRDS and z/OS UNIX files. REXX doesn't support VSAM and will never because TSO is functionally stabilized. There are CBT tape mods but the overhead is enormous.

REXX is a great scripting language but it's a poor programming language.  It only supports strings, not data structures. I have Lua code that can create ISPF dynamic area ISPF with custom highlighting on values that can be defined in a simple DSL so less skilled people can design a panel.

Table {
   Column "action" {
     type = "input",
     width = 3,
     justify = "left",
     noendattr = false,
     sortable = false,
     label = "/",
     verify = function (value)
        return true
     end,
   },
   Column "member" {
     width = 10,
     label = "Member_Name",
     type = "nt",
     color = "white",
   },
   Column "cpu" {
     width = 10,
     justify = "right",
     color = function(self)
        return self.value > 0.000010 and "YELLOW" or "blue"
     end,
     label = "CPU_Time",
     type = "nt",
     format = function(self, value)
        return string.format("%.6f", value)
     end
   },
   Column "resp" {
     width = 10,
     value = 0.00001,
     justify = "right",
     label = "Response_Time",
     color = "blue",
     type = "nt",
     format = function(self, value)
        return string.format("%.6f", value)
     end
   },
   Column "suspend" {
     width = 30,
     justify = "right",
     label = "Suspend_Time",
     type = "input"
   },
}





--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Tuesday, June 22, 2021 2:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Coding for the future

On 22/06/2021 3:21 am, Seymour J Metz wrote:
When someone ports OOREXX to z/OS and adds TSO support.
Never going to happen. I ported ooRexx to z/OS UNIX over a decade ago
and getting it to work in TSO is a heavy lift. It doesn't use fopen() so
needs a lot of patching to work with MVS data sets. It's not worth the
effort. There are better, more modern languages available on z/OS now so
it's only
the diehard REXXers that are interested.



--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Sunday, June 20, 2021 9:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Coding for the future

On 21/06/2021 2:08 am, Paul Gilmartin wrote:
Do you want to report every error, or leave after the first one?
I wish Rexx supported multi-line strings.

I wish Rexx would let me:
       do List = "ssn ssx stm wcn wcx wln wlx wld" while List<>""
           parse var List L List
           /* etc.  */
When will REXX support iterators and generators like Python, Ruby, Lua etc

for word in "ssn ssx stm wcn wcx wln wlx wld".split()

----------------------------------------------------------------------
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

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

Reply via email to