No problems, and no equivalent to facilities that REXX has had from day one. 
What distinguishes REXX is not syntactic sugar but the plumbing that enables 
close coupling of scripts with applications. Lua is missing that.


--
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 8:39 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Coding for the future

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

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