That wiki article describes exactly the mechanism I was referring to.

--
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: Thursday, June 24, 2021 9:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Coding for the future

On 24/06/2021 8:51 pm, Seymour J Metz wrote:
> The only meaning that I'm familiar with is the one that I get on a search for 
> 'callback definition programming'. Or were you thinking of a non-computer 
> contest?

Callback is is a well known pattern
https://secure-web.cisco.com/1QSdJn1tHFo3fLnTHXKVuzco3ZyGmLW-vJIU-4BgBoJ6fnHEdkkNxvL7PgoLaBvpo0I8lemVuZ75OvusonUGyzxr1CV5i0Ww9nI1WZn3XFUso-xHRUl4FLtHqIGQqw0Q_U0FyxioHkGZUHg_5CwjKzl7I0tSi7y6qWdIvgG-u6fxFAJDUmIM6B1NKqqUXSHjK-SbQJOj1LAnHqNpTKdZueBEe6xZ9T-X0sazYHQQzyDEkdghGd_v8hwKJ7IfhJ7j1z1QOgZGFloyGsbaWtcL4yQWVqdTdPB-maTaKnYn8_7KxGVM-0zYdM0dYs9fgNJrebgDY_x4uksThdeKPMJSSwPBBYhutBegj1RG3PDcP8QFP8fy0xl-4EbJYe09lNW4C3k_VT77137C2DdIGZNS34cvFYUaPMP7R3M8AsTnOYZIOUKJsFvX4d4YJ6TXIaneJ/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FCallback_%28computer_programming)

The ,array class goes all the way back to OREXX in OS/2. 5.0 adds a
regex class, but it doesn't support captures, and I rely on them heav

I must admit I don't really care

> --
> 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: Thursday, June 24, 2021 5:00 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Coding for the future
>
> On 24/06/2021 9:23 am, Seymour J Metz wrote:
>> You invoke ISPF. You call a REXX script for ISPF. The script does ADDRESS 
>> ISPEXEC foo and ISPF gets control back. It's well documented in the TSO/E 
>> REXX Reference, and other implementations have essentially the same API. 
>> Basically, when a REXX-aware application creates an environment, REXX 
>> associates context with the environment name; when a REXX script routes a 
>> command to that environment, the environment block contains the context so 
>> that the application can locate its control blocks. It's quite elegant, and 
>> REXX does all of the heavy lifting.
> Yes, I'm familiar with the environment block as I have used IRXSUBCM to
> create host command environments. In my case I had to use CEEPIPI to
> create an LE environment for the C++ regex library. The environment
> block has a user context pointer which is very useful. I was confused by
> the term "call-back" which means something quite different to me.
>
>
>> On the flip side, prior to OREXX everything was a string; there was no type 
>> checking, only value testing. Also, the exception handling is fragile 
>> compared to PL/I, Python or Ruby.
> I noticed that ooRexx v5 has introduced array types which is long
> overdue. Stem variables are hash tables so performance is not great when
> iterating.
>
>
>>
>> --
>> 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: Wednesday, June 23, 2021 8:57 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Coding for the future
>>
>> Maybe I'm missing a subtlety here but can you demonstrate how REXX uses
>> callbacks on z/OS? I'm familar with command environments, I've written
>> one for REXX regex 
>> https://secure-web.cisco.com/140q8fxdqURUGvmth2nK_lOrDPN09AtW0cBfgGnzMZm6MOvOho-HriWxdOrBSwiPotV2P6kacF9rpRwTORQsYeHqbOlnMFxHuUDYsjYnWlk0z0sR7CYhLEzIyd-DL6yuI6IRotLmLhmT3RbCQk9-VO0E6-NE3tyAdm1jgxYV9K6GosVOwG_tqv0j_Iv7TeRrCoUvhQ5ZNmnH2N9gR8CjU9xFydEZWlX1Y702G19rTTW9fV0qRkhU5kTGg16f16KMPIZbaB7Cqk0evdWJylMOkSMkIA5PECEmFeyiQXvrOBE2LDvGMC16AK6OZg5xdnzeWpSgm_g5F-nCgOQjteQ_82RUkquwXW_WqLZq0S0yXoz4PpyFEFJrpl2iZboK4FhuXZdrvui3BqiSrz0nKNJYIXUNRpVzfCH02p2xcc1Oqa0Lrndw3QSeal5ZFf3sRqGP-/https%3A%2F%2Fgithub.com%2Fdaveyc%2FRTK.
>>  In Python, Lua etc you
>> would just create an instance of a class an communicate using message
>> passing like any OO language.
>> For example, to create and ISPF in Lua you instantiate and ISPF object
>> and then communicate with it by calling methods
>> https://secure-web.cisco.com/1qsEFCKQQ8_UfI8nvAPUHIHUMRsk8zVcv8tyCsWKzPB5x6Iqcinh6eFRTvMYUE_fu4U_RlstYoTVGhhME8x92IIYlUFy0AvsQ_osnJyM5U0ASEu77n43wTA2l6-3XA99vaRmgsICvmmQW_Wlc1RO5W5SsL6uXFqvGMNSV5d2Swy6V131ckAPNDw9a-BsfYVkO5DRvOINNh9iJZqVw466fpXNjZh1CsFmaMQcpIvnXTnndqgbQwZw4yzPuxvmWTf__4ssShTUeQnjYxO6gcW4YsvpHhQslzGOP7V45e2SIHjYK3A2EGLp3hyelRfJG9gh3h0qFBX_1a5X08xba0wB0HwMXf4VyHIzAvI5LKoqvrMA90FsZq4h6TMxefXsiXKHALdxZV9djrJXqln73WhSCoaNFiVgG9C-wOFEwYW7bB12UrfhpL6v1ZJ3Hxudjq_4kHxQJuH7g6y4Brb90haU3vA/https%3A%2F%2Flua4z.github.io%2FLua4z%2Fmodules%2Fispf.html.
>>
>>
>> On 23/06/2021 7:04 pm, Seymour J Metz wrote:
>>> Allow applications to establish environments for scripts (ADDRESS) , allow 
>>> call-backs from within scripts and access the variables of the scripts. I 
>>> wish that I could do that from within Perl, although I'd take the time to 
>>> learn Python or Ruby if they supported 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: Wednesday, June 23, 2021 3:19 AM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Coding for the future
>>>
>>> On 23/06/2021 10:38 am, Seymour J Metz wrote:
>>>> None of those are relevant to what REXX does best. Again, it's the 
>>>> plumbing, not the syntactic sugar.
>>> What exactly does REXX do best? What does it do better than Python?
>>>
>>>
>>>> As to large applications, I believe that there are some pretty big ones in 
>>>> Perl and REXX, so why should I be surprised by large applications in, 
>>>> e.g., Python, Ruby?
>>>>
>>>>
>>>> --
>>>> 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 7:25 PM
>>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>>> Subject: Re: Coding for the future
>>>>
>>>> On 22/06/2021 10:19 pm, Seymour J Metz wrote:
>>>>> It's not a question of what environment it can run in; it's  a question 
>>>>> of what facilities it supports in those environments.
>>>> Indeed. Lua supports TSO, ISPF, CICS, IMS, the full MVS file system
>>>> including VSAM. DB2 SQL + a SQLite API. A date/time module that supports
>>>> dates that are greater than Mon Jan 01 1000000 BCE 00:00:00 and less
>>>> than Mon Jan 01 1000001 00:00:00 etc, etc.
>>>> We presented at SHARE where we demonstrated how to use Lua integration
>>>> to convert a 3270 CICS BMS application to a mobile web app
>>>> https://secure-web.cisco.com/1LTRemd3KBmC5tUUKSeo9EC5h9xyRF7Bz3PhdCSMXFnXeU9xUYZAMVe5chb0ZaeK3DMtRGm6fXidrWX-DdewRuiBFuunmJgylrBSK2m0dxTkBwteMqPfIErfpIkx2t0yKE_X4Vvjo2z5bwL3x5Gzol57ueWGXt0mRa5LkbagnGSXpBSeh0a0sqCHTv7dZ_yP7bvWRZEdnEhIKqF6yOijhnDFn7l75N3TqnoUwxHNnsOFWy_ZGihMqSRgOpFgNGT29c3jEMR9BWE6SwalS5Fq9qCm5mI3QT3QGXbhUjO6A4bL_zu9qSlFAFZM7PJeBTr73ngdhubfDFqh0fRWaFg5cyBhzcMGUTVbEV5QWTr76UNB_zRihnfVeyioclr2jou2HVmP2A7PlvHHZDFG0y1o-fR5mEjE0DxE6Jrzclf2Oy-W2TISt9m1rarhndnanZuca/https%3A%2F%2Fshare.confex.com%2Fshare%2F123%2Fwebprogram%2FHandout%2FSession15892%2F15892%2520Mobile%2520CICS%2520Application%2520Using%2520Lua.pdf.
>>>>
>>>> I spent a lot of time making sure Lua integrated well into the TSO/MVS
>>>> environment. The irony is I spend very little time in TSO/ISPF these
>>>> days. I spend most of my time in a shell and switch the ISPF when I want
>>>> to use SDSF. I write new scripting code in Python which is enhanced
>>>> ASCII so only
>>>> runs in z/OS UNIX. Rocket and IBM don't see any value in integrating
>>>> ported tools with TSO as it's not strategic. The main focus is on
>>>> containers.
>>>>
>>>> BTW, did you know that the photo sharing app Instagram is written in
>>>> Python? It's staggering to imagine that what we would consider a
>>>> scripting language is serving over 1 billion monthly users.
>>>>
>>>>
>>>>> --
>>>>> 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 9:57 AM
>>>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>>>> Subject: Re: Coding for the future
>>>>>
>>>>> On 22/06/2021 8:55 pm, Seymour J Metz wrote:
>>>>>> What distinguishes REXX is not syntactic sugar but the plumbing that 
>>>>>> enables close coupling of scripts with applications. Lua is missing that.
>>>>> Maybe. But I can't think of an environment that REXX runs in that Lua
>>>>> can't. I could port Python to run in TSO if I had the time but it's a
>>>>> heavy lift. IBM have ported golang now which is compiled. We've had a
>>>>> look at it and it's interesting.
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>> 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
>> ----------------------------------------------------------------------
>> 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