Re: XML conversion in z/OS

2022-01-10 Thread Jake Anderson
Physical sequential dataset if it is created with CSV format

On Tue, 11 Jan, 2022, 11:40 am Timothy Sipples,  wrote:

> Jake Anderson wrote:
> >I am trying to explore if there is a inbuilt module or program to convert
> a
> >PS file into XML format.
>
> A physical sequential file (data set), a PostScript file, or some other
> PS?
>
> - - - - - - - - - -
> Timothy Sipples
> I.T. Architect Executive
> Digital Asset & Other Industry Solutions
> IBM Z & LinuxONE
> - - - - - - - - - -
> E-Mail: sipp...@sg.ibm.com
>
>
>
> --
> 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: XML conversion in z/OS

2022-01-10 Thread Timothy Sipples
Jake Anderson wrote:
>I am trying to explore if there is a inbuilt module or program to convert 
a
>PS file into XML format.

A physical sequential file (data set), a PostScript file, or some other 
PS?

- - - - - - - - - -
Timothy Sipples
I.T. Architect Executive
Digital Asset & Other Industry Solutions
IBM Z & LinuxONE
- - - - - - - - - -
E-Mail: sipp...@sg.ibm.com



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


Re: Can I use a NAS attached to z/OS

2022-01-10 Thread Timothy Sipples
Colin Paice wrote:
>Having a playful and inquiring mind, I wondered if it was possible to get
>HSM etc to work with a Network Attached Storage box (Synology).  For
>education - not production.

Yes. Enable NFS on your Synology NAS if not already enabled, then use z/OS 
NFS client to attach to it. NFSv4 is preferable.

- - - - - - - - - -
Timothy Sipples
I.T. Architect Executive
Digital Asset & Other Industry Solutions
IBM Z & LinuxONE
- - - - - - - - - -
E-Mail: sipp...@sg.ibm.com



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


Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread David Crayford

On 10/1/22 11:15 pm, Seymour J Metz wrote:

ooRexx will never be high speed because it's implementation is
fundamentally ineffecient.

That seems to be begging the question. Certainly the current implementation is 
inefficient, but what fundamental issue prevents a more efficient 
implementation?


A more effecient implementation requires a rewrite.


For that matter, what fundamental issue prevents compiling into Java bytecode 
with a large runtime similar to the CREXX runtime?


None. TBH, I hadn't had much of a look at NetRexx but it's promising. 
It's strongly typed and the JVM is going to JIT compile it so it will be 
fast. As Rene mentioned you can use Java classes so there is a massive 
eco-system available.



I knocked up some simple benchtests which create an array of squares and 
then find the maximum value. The maximum value is the end element. The 
results are just what I expected. ooRexx performs poorly.
Stem variables are particularly bad which is to be expected because they 
are essentially associative arrays. Using the Array class was much 
better but the result was still many orders of magnitude worse then the
other languages I tested. What's interesting is that LuaJIT is as fast 
as C++ and interpreted Lua is almost as fast as Julia which has JIT.


❯ rexx -v
Open Object Rexx Version 4.2.0
Build date: Dec 29 2013
Addressing Mode: 64
Copyright (c) IBM Corporation 1995, 2004.
Copyright (c) RexxLA 2005-2013.
All Rights Reserved.
This program and the accompanying materials are made available under
the terms of the Common Public License v1.0 which accompanies this
distribution or at
http://www.oorexx.org/license.html

❯ cat squares.rexx
/* REXX */
numeric digits 30
MAX = 1000
s. = 0
do n = 1 to MAX
  s.n = n * n
end
m = 0
do i = 1 to MAX
  m = max(m, s.i)
end
say max

❯ time rexx squares.rexx
1000rexx squares.rexx  43.04s user 3.25s system 99% cpu 46.296 total

❯ cat squares2.rexx
numeric digits 30
s = .Array~new()
do n = 1 to 1000
  s~append(n * n)
end
m = 0
do n = 1 to s~items
  m = max(m, s[n])
end
say m

❯ time rexx squares2.rexx
100
rexx squares2.rexx  17.25s user 1.32s system 99% cpu 18.568 total

❯ lua -v
Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio

local s = {}
for n = 1, 1000 do
   s[n] = n * n
end
local max = 0
for _, n in ipairs(s) do
  max = math.max(max, n)
end
print(max)

❯ time lua squares.lua
100
lua squares.lua  0.79s user 0.07s system 99% cpu 0.862 total

❯ luajit -v
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/

❯ time luajit squares.lua
1e+14
luajit squares.lua  0.08s user 0.05s system 99% cpu 0.137 total

❯ python3 --version
Python 3.8.10

❯ cat squares.py
s = []
for n in range(1, 1000+1):
    s.append(n * n)
print(max(s))

❯ time python3 squares.py
100
python3 squares.py  1.13s user 0.16s system 99% cpu 1.288 total

❯ julia --version
julia version 1.4.1

❯ cat squares.jl
s = Int[]
for n = 1:1000
  push!(s, n * n)
end
println(maximum(s))

❯ time julia squares.jl
100
julia squares.jl  0.56s user 0.74s system 214% cpu 0.608 total

❯ clang++ --version
clang version 10.0.0-4ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

❯ cat squares.cpp
#include 
#include 
#include 
#include 
int main() {
    constexpr int MAX = 1000;
    std::vector s(MAX);
    for (uint64_t n = 1; n <= MAX; n++) s.push_back(n * n);
    std::cout << *std::max_element(s.begin(), s.end()) << "\n";

❯ time ./squares
100
./squares  0.05s user 0.05s system 99% cpu 0.107 total





--
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: Monday, January 10, 2022 8:13 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features 
(Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 10/1/22 8:34 pm, Rony G. Flatscher wrote:

On 09.01.2022 16:29, Seymour J Metz wrote:

Well all of your languages miss the support for the message paradigm.

What do you mean by "the message paradigm"? How does it differ from sending 
method invocation and response messages to objects?

The message paradigm as set forth by Smalltalk explicitly defines a class for 
messages, allows for
intercepting messages, rerouting messages at the will of the programmer and 
much more, as messages
themselves become objects that the programmer can interact with, if needed.

ooRexx implements the message paradigm in full, something that is easily 
overlooked as usually it is
not necessary to be aware of it.

If it's not necessary then why did you make such a big deal about it?


As you can see, if there should be need for adding external functions and/or 
methods to ooRexx, this
can be done with the powerful and easy to use C++ API of ooRexx. As a matter of 
fact 

XML conversion in z/OS

2022-01-10 Thread Jake Anderson
Hello

I am trying to explore if there is a inbuilt module or program to convert a
PS file into XML format.

Is there a way to convert ?
Please advise

Jake

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


Next z/OSMF Community Guild meeting on January 19

2022-01-10 Thread Kurt J. Quackenbush
A quick advertisement:  I would like to invite you and your colleagues to 
the next z/OSMF Community Guild meeting on January 19, 2022 from 10:00 AM 
to 11:00 AM EST.  This session will focus on installing z/OS 2.5 using 
z/OSMF Software Management.  You may enroll through the Guild Home Page, 
http://ibm.biz/zOSMFGuildHome, which also contains presentation materials, 
recordings and Q from past sessions.

Kurt Quackenbush
IBM  |  z/OS SMP/E and z/OSMF Software Management  |  ku...@us.ibm.com
Chuck Norris never uses CHECK when he applies PTFs.


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


Re: Available ASIDs low and dropping

2022-01-10 Thread Gibney, Dave
Adabas has supported a reliable backup while active for several decades (1980s)

> -Original Message-
> From: IBM Mainframe Discussion List  On
> Behalf Of John Blythe Reid
> Sent: Monday, January 10, 2022 7:22 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Available ASIDs low and dropping
> 
> Rob,
> 
> ADABAS does support REUSASID=YES:
> 
> The address space ID (ASID) representing this address space is not
> reassigned until the next IPL. Therefore, you should choose a sufficiently
> high value for the MAXUSERS parameter in the active IEASYSxx member of
> SYS1.PARMLIB or—if your system supports it—the RSVNONR parameter in
> the same member can be adjusted accordingly. Also, the Adabas nucleus
> should not be stopped and started without good reason. This is described in
> the manuals referred to in the topics Recovery Considerations and Resource
> Management. Additional information can be found in IBM APARs OZ61154,
> OZ61741, and OZ67637.
> 
> To reduce the possibility that the system will run out of ASIDs for assignment
> to new address spaces, start ADABAS with REUSASID=YES:
> 
> /S ADA,REUSASID=YES
> 
> This is described in the IBM z/OS manual MVS Programming Extended
> Addressability Guide.
> --
> -
> To make its services available to all address spaces in the system, the Adabas
> nucleus must obtain a system linkage index (LX) from z/OS. The LX is a
> reserved slot in the linkage space of all address spaces, and permits system-
> wide linkage to all address spaces.
> 
> If your hardware supports the Address Space and LX Reuse Facility (ALRF),
> the version 8 ADASVC will make use of reusable systems LXs. Otherwise, a
> non-reusable system LX will be used as in previous releases. Reusable
> system LXs resolve the constraints imposed by non-reusable LXs. The
> remainder of this section discusses these constraints.
> 
> The number of non-reusable LXs set aside by z/OS for system use is rather
> small (usually 165 out of a possible 2048).
> 
> Because of the way z/OS use cross-memory services, non-reusable system
> LXs obtained by Adabas cannot be returned to z/OS until the next IPL.
> However, the system that owns the LXs can reuse them, even for a different
> address space. Adabas makes use of this feature by identifying used LXs in a
> table in CSA, where they are available to future nuclei.
> 
> The number of non-reusable system LXs can be specified in the member
> IEASYSxx contained in SYS1.PARMLIB, using the NSYSLX parameter. If you
> change this value, you must perform an IPL to make the change effective.
> --
> -
> 
> As it says here the Adabas nucleus regions should only be stopped for a good
> reason. I think the only reason the client recycles them every week is to do
> an offline backup which is what they've always done.
> 
> Because the currently active Adabas nucleus regions were started without
> REUSASID=YES when they terminate on Monday that'll trigger this error as
> there will only be  20 available ASIDs with MAXUSER at 500:
> --
> 
> IEA059E ASID SHORTAGE HAS BEEN DETECTED
> Explanation
> The number of ASIDs available for allocation to new address spaces has
> dropped below 5% of the value specified in IEASYSxx with the MAXUSER
> specification.
> --
> 
> Putting REUSASID=YES in the Adabas nucleus start-up procs will hold the
> available ASIDs at 20 but that's too low and too late. It's a pity the alert 
> didn't
> trigger sooner.
> 
> It looks like there'll have to be an IPL. The first in two years for this 
> LPAR.
> 
> Thanks you all for your help.
> 
> Regards,
> John.
> 
> 
> --
> 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: Available ASIDs low and dropping

2022-01-10 Thread David Spiegel

Hi John,
I am curious ...
How does your shop APPLY maintenance without an IPL?
(I know that the LNKLST can be rebuilt dynamically, but, that (according 
to documentation I've read) is not 100% foolproof.)


Regards,
David

On 2022-01-10 10:22, John Blythe Reid wrote:

Rob,

ADABAS does support REUSASID=YES:

The address space ID (ASID) representing this address space is not reassigned 
until the next IPL. Therefore, you should choose a sufficiently high value for 
the MAXUSERS parameter in the active IEASYSxx member of SYS1.PARMLIB or—if your 
system supports it—the RSVNONR parameter in the same member can be adjusted 
accordingly. Also, the Adabas nucleus should not be stopped and started without 
good reason. This is described in the manuals referred to in the topics 
Recovery Considerations and Resource Management. Additional information can be 
found in IBM APARs OZ61154, OZ61741, and OZ67637.

To reduce the possibility that the system will run out of ASIDs for assignment 
to new address spaces, start ADABAS with REUSASID=YES:

/S ADA,REUSASID=YES

This is described in the IBM z/OS manual MVS Programming Extended 
Addressability Guide.
---
To make its services available to all address spaces in the system, the Adabas 
nucleus must obtain a system linkage index (LX) from z/OS. The LX is a reserved 
slot in the linkage space of all address spaces, and permits system-wide 
linkage to all address spaces.

If your hardware supports the Address Space and LX Reuse Facility (ALRF), the 
version 8 ADASVC will make use of reusable systems LXs. Otherwise, a 
non-reusable system LX will be used as in previous releases. Reusable system 
LXs resolve the constraints imposed by non-reusable LXs. The remainder of this 
section discusses these constraints.

The number of non-reusable LXs set aside by z/OS for system use is rather small 
(usually 165 out of a possible 2048).

Because of the way z/OS use cross-memory services, non-reusable system LXs 
obtained by Adabas cannot be returned to z/OS until the next IPL. However, the 
system that owns the LXs can reuse them, even for a different address space. 
Adabas makes use of this feature by identifying used LXs in a table in CSA, 
where they are available to future nuclei.

The number of non-reusable system LXs can be specified in the member IEASYSxx 
contained in SYS1.PARMLIB, using the NSYSLX parameter. If you change this 
value, you must perform an IPL to make the change effective.
---

As it says here the Adabas nucleus regions should only be stopped for a good 
reason. I think the only reason the client recycles them every week is to do an 
offline backup which is what they've always done.

Because the currently active Adabas nucleus regions were started without 
REUSASID=YES when they terminate on Monday that'll trigger this error as there 
will only be  20 available ASIDs with MAXUSER at 500:
--
IEA059E ASID SHORTAGE HAS BEEN DETECTED
Explanation
The number of ASIDs available for allocation to new address spaces has dropped 
below 5% of the value specified in IEASYSxx with the MAXUSER specification.
--
Putting REUSASID=YES in the Adabas nucleus start-up procs will hold the 
available ASIDs at 20 but that's too low and too late. It's a pity the alert 
didn't trigger sooner.

It looks like there'll have to be an IPL. The first in two years for this LPAR.

Thanks you all for your help.

Regards,
John.
   


--
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: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Seymour J Metz
Please be careful with attributions; "fundamentally ineffecient" was David, not 
me. I was questioning his claim.

OOREXX does seem to be less efficient than SAA ("classic") REXX, but I use it 
regardless because of its expressive power. I know of no barrier to a more 
efficient design, nor do I know of any fundamental difference between NetRexx 
and oorexx that would prevent one from being efficient but not the other.

Not oorexx, but IBM has used REXX as the implementation language for, e.g., 
some CMS commands. I don't recall those commands being too slow.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Rony [rony.flatsc...@wu.ac.at]
Sent: Monday, January 10, 2022 10:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features 
(Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

Am 10.01.2022 um 16:16 schrieb Seymour J Metz :
>
> 
>>
>> ooRexx will never be high speed because it's implementation is
>> fundamentally ineffecient.
No, for what ooRexx does and allows for it is not „fundamentally inefficient“. 
If forgoing all its helpful new features, because all of a sudden „inheritance“ 
or „message paradigm“ is not important, then you could implement it totally 
different. But then you loose what makes it so powerful and easy to use.

Just think about REXX and for what purposes you use it there. If „hi speed“ 
gets important then you probably use native code/functions/libraries from REXX.

I know of companies that use ooRexx with BSF4ooRexx for nifty professional 
applications, where they use powerful JavaFX for the GUI, but interact with 
RDBMS on IBM middle range hardware. They develop on the MacOS platform, but can 
deploy their products on Windows and Linux. Complex, challenging applications 
that get created and maintained with ooRexx+BSF4ooRexx.

The reason? They had REXX knowledge (coming from the mainframe world, also 
consulting AS/400 customrs etc.), learned about ooRexx and BSF4ooRexx and were 
able (on their own!) to learn and research all they needed for a solution that 
others would have thought was impossible with REXX knowledge. Rather they would 
speculate/expect to have to learn a new language from scratch. This is not the 
case, one can keep and take advantage of the REXX knowledge and year long 
experiences.

—-rony

Rony G. Flatscher (mobil/e)

--
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: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony
Am 10.01.2022 um 16:16 schrieb Seymour J Metz :
> 
> 
>> 
>> ooRexx will never be high speed because it's implementation is
>> fundamentally ineffecient.
No, for what ooRexx does and allows for it is not „fundamentally inefficient“. 
If forgoing all its helpful new features, because all of a sudden „inheritance“ 
or „message paradigm“ is not important, then you could implement it totally 
different. But then you loose what makes it so powerful and easy to use.

Just think about REXX and for what purposes you use it there. If „hi speed“ 
gets important then you probably use native code/functions/libraries from REXX.

I know of companies that use ooRexx with BSF4ooRexx for nifty professional 
applications, where they use powerful JavaFX for the GUI, but interact with 
RDBMS on IBM middle range hardware. They develop on the MacOS platform, but can 
deploy their products on Windows and Linux. Complex, challenging applications 
that get created and maintained with ooRexx+BSF4ooRexx. 

The reason? They had REXX knowledge (coming from the mainframe world, also 
consulting AS/400 customrs etc.), learned about ooRexx and BSF4ooRexx and were 
able (on their own!) to learn and research all they needed for a solution that 
others would have thought was impossible with REXX knowledge. Rather they would 
speculate/expect to have to learn a new language from scratch. This is not the 
case, one can keep and take advantage of the REXX knowledge and year long 
experiences.

—-rony

Rony G. Flatscher (mobil/e)

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


Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread René Jansen
I find that a very interesting question - I think there is no real reason, and 
that is one of the things CREXX is trying to prove. For the other things, other 
mailing lists. But we have to remember that ooRexx is doing a lot of work like 
keeping activation records and doing garbage collection, which used to be 
essential but we decided are not really a priority now due to large addressing 
spaces (would take a century and a non-existing machine to page everything in 
though) and we know a lot more about optimization (inlining, avoiding pipeline 
stalls, keeping routines in cache) that are only valid for modern ISA 
implementations.

It turned out that you need to profile the heck out of everything before you 
commit it. We could not do that for ooRexx yet - that is a manpower issue (man 
includes man and women (I wish) here). I do wish that all the knowledge on this 
list could be transformed into one or two people more to work on things - it is 
clearly not IBM or companies that bought pieces of its history that we can 
count on here.

Best regards,

René.

> On 10 Jan 2022, at 11:15, Rony  wrote:
> 
>> 
>> Am 10.01.2022 um 15:34 schrieb David Crayford :
>> 
>> On 10/1/22 10:10 pm, Rony G. Flatscher wrote:
 On 10/1/22 8:34 pm, Rony G. Flatscher wrote:
>> On 09.01.2022 16:29, Seymour J Metz wrote:
 Well all of your languages miss the support for the message paradigm.
>>> What do you mean by "the message paradigm"? How does it differ from 
>>> sending method invocation
>>> and response messages to objects?
>> The message paradigm as set forth by Smalltalk explicitly defines a 
>> class for messages, allows for
>> intercepting messages, rerouting messages at the will of the programmer 
>> and much more, as messages
>> themselves become objects that the programmer can interact with, if 
>> needed.
>> 
>> ooRexx implements the message paradigm in full, something that is easily 
>> overlooked as usually it is
>> not necessary to be aware of it.
 If it's not necessary then why did you make such a big deal about it?
>>> Well if you have really read the entire post you should know. Without 
>>> implementing the message
>>> paradigm things become clumsy and some important features, if you need 
>>> them, are simply not available.
>>> 
>>> 
>> I'm still completely baffled by the why not implementing the "message 
>> paradigm" is clumsy. Returning "self" from a method makes sense to me. What 
>> if I'm creating a class which supports method chaining
>> but some methods return values other than self. Nothing you are saying makes 
>> sense to me. It's dogma.
> 
> No, there is no dogma here, just a description that a mechanism is available 
> in ooRexx by default that needs explicit programming in other languages which 
> wish to be as fluent as ooRexx! ;)
> 
> Just try it out. Many times new concepts that look alien at first or even 
> unnecessary become more understandable by experimenting itj. Given your 
> background I am sure that you would grasp these concepts quite quickly. J
> 
> —-rony
> 
> Rony G. Flatscher (mobil/e)
> --
> 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: Available ASIDs low and dropping

2022-01-10 Thread John Blythe Reid
Rob,

ADABAS does support REUSASID=YES:

The address space ID (ASID) representing this address space is not reassigned 
until the next IPL. Therefore, you should choose a sufficiently high value for 
the MAXUSERS parameter in the active IEASYSxx member of SYS1.PARMLIB or—if your 
system supports it—the RSVNONR parameter in the same member can be adjusted 
accordingly. Also, the Adabas nucleus should not be stopped and started without 
good reason. This is described in the manuals referred to in the topics 
Recovery Considerations and Resource Management. Additional information can be 
found in IBM APARs OZ61154, OZ61741, and OZ67637.

To reduce the possibility that the system will run out of ASIDs for assignment 
to new address spaces, start ADABAS with REUSASID=YES:

/S ADA,REUSASID=YES

This is described in the IBM z/OS manual MVS Programming Extended 
Addressability Guide.
---
To make its services available to all address spaces in the system, the Adabas 
nucleus must obtain a system linkage index (LX) from z/OS. The LX is a reserved 
slot in the linkage space of all address spaces, and permits system-wide 
linkage to all address spaces.

If your hardware supports the Address Space and LX Reuse Facility (ALRF), the 
version 8 ADASVC will make use of reusable systems LXs. Otherwise, a 
non-reusable system LX will be used as in previous releases. Reusable system 
LXs resolve the constraints imposed by non-reusable LXs. The remainder of this 
section discusses these constraints.

The number of non-reusable LXs set aside by z/OS for system use is rather small 
(usually 165 out of a possible 2048).

Because of the way z/OS use cross-memory services, non-reusable system LXs 
obtained by Adabas cannot be returned to z/OS until the next IPL. However, the 
system that owns the LXs can reuse them, even for a different address space. 
Adabas makes use of this feature by identifying used LXs in a table in CSA, 
where they are available to future nuclei.

The number of non-reusable system LXs can be specified in the member IEASYSxx 
contained in SYS1.PARMLIB, using the NSYSLX parameter. If you change this 
value, you must perform an IPL to make the change effective. 
---

As it says here the Adabas nucleus regions should only be stopped for a good 
reason. I think the only reason the client recycles them every week is to do an 
offline backup which is what they've always done.

Because the currently active Adabas nucleus regions were started without 
REUSASID=YES when they terminate on Monday that'll trigger this error as there 
will only be  20 available ASIDs with MAXUSER at 500:  
--
IEA059E ASID SHORTAGE HAS BEEN DETECTED
Explanation
The number of ASIDs available for allocation to new address spaces has dropped 
below 5% of the value specified in IEASYSxx with the MAXUSER specification.
--
Putting REUSASID=YES in the Adabas nucleus start-up procs will hold the 
available ASIDs at 20 but that's too low and too late. It's a pity the alert 
didn't trigger sooner.

It looks like there'll have to be an IPL. The first in two years for this LPAR.

Thanks you all for your help.

Regards,
John.
  

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


Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Seymour J Metz
> ooRexx will never be high speed because it's implementation is
> fundamentally ineffecient.

That seems to be begging the question. Certainly the current implementation is 
inefficient, but what fundamental issue prevents a more efficient 
implementation? For that matter, what fundamental issue prevents compiling into 
Java bytecode with a large runtime similar to the CREXX runtime?


--
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: Monday, January 10, 2022 8:13 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features 
(Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 10/1/22 8:34 pm, Rony G. Flatscher wrote:
> On 09.01.2022 16:29, Seymour J Metz wrote:
>>> Well all of your languages miss the support for the message paradigm.
>> What do you mean by "the message paradigm"? How does it differ from sending 
>> method invocation and response messages to objects?
> The message paradigm as set forth by Smalltalk explicitly defines a class for 
> messages, allows for
> intercepting messages, rerouting messages at the will of the programmer and 
> much more, as messages
> themselves become objects that the programmer can interact with, if needed.
>
> ooRexx implements the message paradigm in full, something that is easily 
> overlooked as usually it is
> not necessary to be aware of it.

If it's not necessary then why did you make such a big deal about it?

> As you can see, if there should be need for adding external functions and/or 
> methods to ooRexx, this
> can be done with the powerful and easy to use C++ API of ooRexx. As a matter 
> of fact BSF4ooRexx and
> dbusoorexx are using those native C++ APIs allowing high speed and using all 
> that is available in
> and via the C++ world.

ooRexx will never be high speed because it's implementation is
fundamentally ineffecient. Most scripting languages compile to bytecode
which is then processed by a VM. For example, the Lua VM is less tha 2K
lines of code and can fit into L2 cache which is why it's blistering
fast 
https://secure-web.cisco.com/1toUKHC4qJ1L65nxMUHlKxOYU0nCw63de1WYnrGbKff1yrwqYGas-OyWjVfJCDmHbQ8-AEVUh6XufmmTHQpXuiui1Oz3dT6hK9s0lRpekgPRdl4akdM0MwK100qVFGPYGqGt81W8-MPFrje4gSpXNazzn4fMSiHGgSWDamtQAH5tueZ_8T8aa5iE1pL9UvLLcIjjfsFGUK-P4tUucjxCM8HO0LyO8nmOWh_0CeNAdWcuWTrN5Em2BLnvFL5WapeGIHJvU2D9PJmk3_BsvxgPJfOMtt2RV2r4gqg7t_Xgjannaba2uFqkrW9h4s00If0apuc23VCaI-qz9jjywnRdKULdBrJcCqDYBtHL27rlQwQ3tbdu4b4XEqaAk6QlYej9JA7eII2tBWpYbOg_-qjjJhbabjho8C4tTZgJ8jb5GWs9S2bP9ztKJFOjoVG-toKSS/https%3A%2F%2Fwww.lua.org%2Fsource%2F5.1%2Flvm.c.html.
 ooRexx chose to use a
graph of C++ classes with abstract base classes for every instruction
and clause. OMG, dynamic dispatch for every instruction!

https://secure-web.cisco.com/1x1EEYRKnnOq4ErWK3XEX2TNTsQD0UuiUNjaIlV74LtBLh321aBDX8DuBmGkeEwlVa2nEDe_0WiZceoWQpQpAlJAptvu2Pgsg3VfvzAc19VMyrkgP6hFgWGpmex9xKNvxIu8OjmtH2TCcgPcTS0QhVf7T-8hfM-Ajwx_i-XiuIwhPspCAux-kzFz7ipM7H6Q8Fr-i2xzGtLJC4YOPthkFUUz7q-t-QNpKAT7Ueqfl3gLB-TNHYgYvg5Mo36B2KhDB4Q36sHe5f2XVg3KnPmIRV3q_AxuZAhQYGyJozZbO9cMrzV6UaF942P531jtLuMYxf1UtWbXlw89wSf8QVdMN5E6F0p9eylZcPucm5blJUIF9Ws0BIe4nj4OSooCHL1QoVyAw2_-Hw9nsWU6t-c0mjjDw4ou64vahrdNYommLhznZK49gubwnaoT9tKaLVwbc/https%3A%2F%2Fgithub.com%2FooRexx%2FooRexx%2Ftree%2Fmaster%2Finterpreter%2Finstructions

It's gigantic clump of inefficient code based upon inheritance. The GoF
Design Patterns book which dates back to the 90s was a groundbreaking,
seminal work which had a central theme of introducing patterns to avoid
inheritance. Modern languages like Rust don't even support Inheritance.

If you want high speed then use a JIT compiler. The Lua Functional
library used with LuaJIT can boil a chain of method calls down to a
dozen instructions with no linkage overhead
https://secure-web.cisco.com/1VGsux3zwLoFPlfRJthZWOyRRuMwoUesawXiAoOEGNBSpwc8MJTo_mTKwvCEMkjgvHvlY-YaKdYzPaVz1dG1h6YFTiRsgrq0TwNPjdMt2oUIMlwjqLKvM7q_jCe7R8HwQLHyRZ2uQZS6Vt4fHDBgmNbTBc_0cjIKlJ7JyekEm2GEDauJ5o8jonSS747C4tVgfM6MLLcz6ctR9YUeUKvqE0r45xSXwYFz0tC4jg3dus4FrE9VmJPakzfNzH-Uzr0mJJwtpBqkiF6E4WvuMsxJwF6pKRHyrJvM9f4iGcBHa9-m5OcGOaaLxIc_johKMK7lU4fpLGKg5Q9bVczgMOrGrRAFOGkfVJJ8dc_UPTacOUKlWFmWnLWPrssX62RX0gtKqr0RyYegQ_TD8Irzb9oX_9SE4ZY8b1vdh5HnsxNpeTEsECVs9J7PBcRh9l_YcuM5XllzvcAi9NeVF_L_pRcEaWg/https%3A%2F%2Fluafun.github.io%2Fintro.html.
 The Julia programming language can
do the same with similar syntax. If I wanted to use REXX
I would use NetRexx to take advantage of the JVM JIT.


>
> Again it is fairly straight-forward and easy to add external routines and 
> external methods to ooRexx
> if need be.
>
> ---rony
>
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: 

Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony
> 
> Am 10.01.2022 um 15:34 schrieb David Crayford :
> 
> On 10/1/22 10:10 pm, Rony G. Flatscher wrote:
>>> On 10/1/22 8:34 pm, Rony G. Flatscher wrote:
> On 09.01.2022 16:29, Seymour J Metz wrote:
>>> Well all of your languages miss the support for the message paradigm.
>> What do you mean by "the message paradigm"? How does it differ from 
>> sending method invocation
>> and response messages to objects?
> The message paradigm as set forth by Smalltalk explicitly defines a class 
> for messages, allows for
> intercepting messages, rerouting messages at the will of the programmer 
> and much more, as messages
> themselves become objects that the programmer can interact with, if 
> needed.
> 
> ooRexx implements the message paradigm in full, something that is easily 
> overlooked as usually it is
> not necessary to be aware of it.
>>> If it's not necessary then why did you make such a big deal about it?
>> Well if you have really read the entire post you should know. Without 
>> implementing the message
>> paradigm things become clumsy and some important features, if you need them, 
>> are simply not available.
>> 
>> 
> I'm still completely baffled by the why not implementing the "message 
> paradigm" is clumsy. Returning "self" from a method makes sense to me. What 
> if I'm creating a class which supports method chaining
> but some methods return values other than self. Nothing you are saying makes 
> sense to me. It's dogma.

No, there is no dogma here, just a description that a mechanism is available in 
ooRexx by default that needs explicit programming in other languages which wish 
to be as fluent as ooRexx! ;)

Just try it out. Many times new concepts that look alien at first or even 
unnecessary become more understandable by experimenting itj. Given your 
background I am sure that you would grasp these concepts quite quickly. J

—-rony

Rony G. Flatscher (mobil/e)
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Port of ooRexx to z/OS? (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony
> 
> Am 10.01.2022 um 15:22 schrieb Seymour J Metz :
> 
> 
>> 
>> As a little teaser, if interested, just look-up the ooRexx runtime objects
>> named .input, .output and .error.
> 
> Aren't those just monitor objects?
Yes. They monitor stdin, stdout and stderr (all three are streams that could 
also be redirected from to the Rexx program). ooRexx will use the monitors 
itself rather than directly interacting with the stream objects. 

So say statements will cause the string to be sent to .output which then will 
forward the message with string argument (if any) to .stdout.

If using lineout or charout to write an error message to „stderr“ the message 
gets sent to .error which forwards the message to its monitored .stderr stream.

If one knows that it is easy to e.g. create error logfiles on a daily basis if 
running a 7/24 ooRexx program: you merely replace the destination of the .error 
monitor to a logger object you create which would create a file like 
„error-20220110.log“ and forward each received say/lineout/charout message to 
that file object (which is an instance of the ooRexx class .stream). Then if 
midnight is up, the logger object closes that log file and creates a new one 
like „error-20220111.log“ to which messages get forwarded.

This way all error messages get logged and can be inspected. The nice thing 
about this is that no REXX program needs to know or realize that!

—-

Another application possibility is employed by BSF4ooRexx: this external 
function package makes it easy to host REXX and ooRexx scripts that get 
executed with ooRexx (and it is even possible to supply Java objects the 
REXX/ooRexx scripts wish to interact with). 

Usually this is done by Java/NetRexx/Kotlin/Grooivy/… with the help of the Java 
scfripting framework which supplies Java objects representing stdin, stdout and 
stderr.

Exploiting the ooRexx monitor objects .input, .output and .error BSF4ooRexx 
transparently replaces the destination objects of these monitors, intercepting 
all messages and forwarding them to the appropriate Java objects.

And the best: the REXX/ooRexx programs do not even need to know that, which 
alleviates the programmers. So they even do not need to know how this „magic“ 
gets realized under the hood. 

Sheer power! Easy to use as no one needs to code an extra line of code for that 
(important) purpose. :)

Again, this is only possible in such an easy (in this case even totally 
transparent) manner, because ooRexx implements and uses the message paradigm. 

And BTW BSF4ooRexx does one more thing: by default it prefixes the streams e.g. 
with „REXXout>“, „REXXerr>“ such that all REXX/ooRexx related interactions with 
the streams can be quickly identified in Java log files which is extremely 
helpful for locating them (if Java logging is enabled long running programs can 
create huge log files).

—-rony

Rony G. Flatscher (mobil/e)


> 
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> Rony G. Flatscher [rony.flatsc...@wu.ac.at]
> Sent: Monday, January 10, 2022 7:51 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Port of ooRexx to z/OS? (Re: Ad NetRexx (Re: Ad programming 
> features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS
> 
>> On 10.01.2022 05:28, David Crayford wrote:
>>> On 9/1/22 11:22 pm, Rony G. Flatscher wrote:
>>> On 09.01.2022 03:19, David Crayford wrote:
>>>> On 9/1/22 2:15 am, Rony G. Flatscher wrote:
>>>>> On 08.01.2022 01:52, David Crayford wrote:
>>>>>> On 7/1/22 7:53 pm, Rony G. Flatscher wrote:
> 
> ... cut ...
> 
>>>> Number 7 on my list is support for OO which implies message passing.
>>> Well, this does not mean that the programming language supports the message 
>>> paradigm. If it did it
>>> would have an explicit "Message" class (like there are explicit classes 
>>> like "Object", "Class",
>>> "Method" and the like), hence messages are not FCOs. Compare this to 
>>> languages like SmallTalk or
>>> ooRexx.
>>> 
>>> Maybe it is easier to grasp some of the ramifications by looking at the 
>>> popular fluent pattern
>>> (https://secure-web.cisco.com/16gHuUSvm6wTt36qDHrbk52jx7cBfrMxkFy9KdL4OA5teVngp8Mpxa3-ScxQQj6e8NG8rc5Poicg4agf5YtCC7n9giLhoKsCYDHGyaSIplNNZYJpoOiaHTibhkaNKJDd5kMrMIsI7iMuEcfUcSxBtXuq80eRv-jsiH3bt0FEkf2whHXX3X9KAku-TVgGXniJyaOhg4rTanyB_YmPOXyiZKSyA0kL3i8i8SnOVK3RaQ0jMgetCj6diuu61cSmSouZ3VeteLv7HyTfu8lDFu0g2esJUbMSz_nitJ1YkcB_d9OyZvpJb9WB0O6E9S8kPfLuixlWnfmgLwpxGWgYK0xZZcsF18e3TiQuoePIwYl2HE7LOHxHE6lHW7jaAEwPD5ehgtPaIjK7Wqqqbp-m7skw8ruTvJkYUOXXAc5U7m6oGqnt_ugEow8VOV6C1QQlhfDME/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFluent_interface)
>>>  which nee

Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread René Jansen
That page has other issues. The “IBM Open XL Fortran for AIX” and the “IBM XL 
Fortran for AIX” refer to the same page. The "IBM XL Fortran for Linux” link 
omits to mention that is it also Open, but only for Power systems; it doesn’t 
mention the repo from which the community edition is to be gotten to check if 
it works on X86_64 or aarch64 - when it is on LLVM that should be the case. Oh 
my.

> On 10 Jan 2022, at 10:53, Seymour J Metz  wrote:
> 
>> AFAIK, there is no officially supported Fortran (or Ada) compiler for z/OS
> 
> "mainframe ¬= 'z/OS"
> 
>> we had to port a Fortran to C transpiler.
> 
> ?
> 
> 

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


Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread René Jansen
When I follow that link - very s l o w it is I might add - I see: 

IBM® VS FORTRAN compiles FORTRAN code to generate efficient applications for 
the IBM z/OS® and IBM z/VM® platforms. It includes a compiler, a library and 
interactive debugging facilities.  

Is it not supported? That might be odd.
Also, the linking page commits the error of telling us

IBM VS FORTRAN: Develop efficient applications for IBM Z® and z/VM® with IBM VS 
FORTRAN.
Which jumbles the categories a little and makes me afraid to push that “talk to 
an expert” button.

René.

> On 10 Jan 2022, at 10:53, Seymour J Metz  wrote:
> 
>> AFAIK, there is no officially supported Fortran (or Ada) compiler for z/OS
> 
> "mainframe ¬= 'z/OS"
> 
>> we had to port a Fortran to C transpiler.
> 
> ?
> 
> 
> --
> 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: Monday, January 10, 2022 7:08 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS
> 
> On 10/1/22 6:13 am, Seymour J Metz wrote:
>>> he raison d'être of the mainframe is to run applications written in COBOL.
>> What is FORTRAN, chopped liver?
> 
> AFAIK, there is no officially supported Fortran (or Ada) compiler for
> z/OS. When Rocket ported the R programming language to z/OS we had to
> port a Fortran to C transpiler. Bringing back Fortran is another sweet
> spot that a z/OS LLVM port will solve.
> 
> 
>> 
>> 
>> --
>> 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: Friday, January 7, 2022 11:16 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS
>> 
>> On 8/1/22 1:42 am, Tony Harminc wrote:
>>> On Fri, 7 Jan 2022 at 11:45, Lionel B. Dyck  wrote:
>>> 
 I've been following this thread and one thing that has yet to appear, or I 
 missed it, has to do with 4GL's and the drive, at one point, for languages 
 that were more human oriented - those that could be written more like a 
 normal sentence or phrase, and avoid the technical 
 jargon/gobblygook/syntax. As I recall in the 1980's there were a few but 
 nothing came of them, instead we have languages that have their own 
 syntax, and which require extensive learning but nothing that allows a 
 non-programmer to actually generate a complex business program.
>>> COBOL was supposed to be that, no? Managers could in theory at least
>>> read (if not write) a COBOL program and understand what it does,
>>> because it so (superficially) resembles English.
>> It's interesting that no language since COBOL has ever tried to emulate
>> the "english" syntax. It turns out that it was not actually a terribly
>> good idea. Programmers preferred languages with more concise syntax.
>> 
>> BTW, I'm not knocking COBOL. I'm a mainframe guy and I'm cognizant to
>> the fact that the raison d'être of the mainframe is to run applications
>> written in COBOL. PL/I programmers will disagree but COBOL is king.
>> 
>> 
  From my experience, REXX has many of the 4GL goals as the syntax isn't 
 overly complex and is something a non-programmer can comprehend rather 
 easily. As has been previously mentioned in this thread, REXX can be more 
 readily learned and used than the majority of the current languages. It 
 isn't perfect but it works very well.
>>> Indeed.
>> --
>> 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


Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Seymour J Metz
> AFAIK, there is no officially supported Fortran (or Ada) compiler for z/OS

"mainframe ¬= 'z/OS"

> we had to port a Fortran to C transpiler.

 ?


--
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: Monday, January 10, 2022 7:08 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 10/1/22 6:13 am, Seymour J Metz wrote:
>> he raison d'être of the mainframe is to run applications written in COBOL.
> What is FORTRAN, chopped liver?

AFAIK, there is no officially supported Fortran (or Ada) compiler for
z/OS. When Rocket ported the R programming language to z/OS we had to
port a Fortran to C transpiler. Bringing back Fortran is another sweet
spot that a z/OS LLVM port will solve.


>
>
> --
> 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: Friday, January 7, 2022 11:16 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS
>
> On 8/1/22 1:42 am, Tony Harminc wrote:
>> On Fri, 7 Jan 2022 at 11:45, Lionel B. Dyck  wrote:
>>
>>> I've been following this thread and one thing that has yet to appear, or I 
>>> missed it, has to do with 4GL's and the drive, at one point, for languages 
>>> that were more human oriented - those that could be written more like a 
>>> normal sentence or phrase, and avoid the technical 
>>> jargon/gobblygook/syntax. As I recall in the 1980's there were a few but 
>>> nothing came of them, instead we have languages that have their own syntax, 
>>> and which require extensive learning but nothing that allows a 
>>> non-programmer to actually generate a complex business program.
>> COBOL was supposed to be that, no? Managers could in theory at least
>> read (if not write) a COBOL program and understand what it does,
>> because it so (superficially) resembles English.
> It's interesting that no language since COBOL has ever tried to emulate
> the "english" syntax. It turns out that it was not actually a terribly
> good idea. Programmers preferred languages with more concise syntax.
>
> BTW, I'm not knocking COBOL. I'm a mainframe guy and I'm cognizant to
> the fact that the raison d'être of the mainframe is to run applications
> written in COBOL. PL/I programmers will disagree but COBOL is king.
>
>
>>>   From my experience, REXX has many of the 4GL goals as the syntax isn't 
>>> overly complex and is something a non-programmer can comprehend rather 
>>> easily. As has been previously mentioned in this thread, REXX can be more 
>>> readily learned and used than the majority of the current languages. It 
>>> isn't perfect but it works very well.
>> Indeed.
> --
> 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: Just FYI: The 2021 Most Loved, Most Dreaded, and Most Wanted Programming Languages

2022-01-10 Thread René Jansen
Yes, that is why you need that stash of PDF files on a local machine, just to 
be able to peruse them if your problem coincides with network trouble - which 
seems very often to be the case.

René.

> On 10 Jan 2022, at 10:48, Seymour J Metz  wrote:
> 
> Good catch!
> 
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> 
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> Steve Horein [steve.hor...@gmail.com]
> Sent: Monday, January 10, 2022 7:14 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Just FYI: The 2021 Most Loved, Most Dreaded, and Most Wanted 
> Programming Languages
> 
> Where the hell is "Refer to documentation"?
> 

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


Re: Just FYI: The 2021 Most Loved, Most Dreaded, and Most Wanted Programming Languages

2022-01-10 Thread Seymour J Metz
Good catch!


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Steve Horein [steve.hor...@gmail.com]
Sent: Monday, January 10, 2022 7:14 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Just FYI: The 2021 Most Loved, Most Dreaded, and Most Wanted 
Programming Languages

Where the hell is "Refer to documentation"?

What do you do when you get stuck

Google it 89.69%
Visit Stack Overflow 79.96%
Do other work and come back later 48.01%
Watch help / tutorial videos 43.56%
Call a coworker or friend 39.5%
Go for a walk or other physical activity 37.04%
Play games 14.63%
Panic 11.99%
Meditate 9.37%
Visit another developer community (please name): 7.92%


On Sat, Jan 8, 2022 at 10:44 AM Mark Regan  wrote:

> Just providing the link as is. I'm not a software programmer myself; my
> wife, son, and daughter are the programmers in my family, even my wife's
> sister was a programmer. So the programming force runs strong in my family
> and hers.
>
>
> https://secure-web.cisco.com/1_ZJYKmHm6GtqJCN9h122_xBK81yhSMWfgEROsgOcUdrq6G2Jgw91u2MP7XX83bl59kDemASw34w5gnunZRO1TM0aKN9XeQdKkLg6ipnSetKuMVgXLW77nZKFWZXJP4auOGdeWETJ_52FbSRHAVSmAqVJaQwzWkfNI_Pwv1S5g7k-hzq01zW-9O5RZ8bkgGZLdrMHPvLQ00A7zpMX2y96cAg0QfpJdEDSF3VcScmmOcSRP7EQ70NwyoI4E59VMN6GOc8suR5XX8k_WQ4uxZELUizergLDXJWMUDw_uw9GnFiNQJHswx3n0RQTS2ik5HrD28HZgKj13tTexvcWltNzWVycr0pJ55k4yzp0fYwbP0EJ4wKIUCOENzfBedD4o0lWFAiff1EWMIR8X0770wVUWdWF4UzaHZqn2N0jndp4QqN4mEd-928UC2LU0RRnbQkCmeZbEZbuzZmUwQKvV1uqEA/https%3A%2F%2Finsights.stackoverflow.com%2Fsurvey%2F2021%23most-loved-dreaded-and-wanted
>
> Regards,
>
> Mark Regan, K8MTR General, EN80tg
> CTO1 USNR-Retired (1969-1991)
> Nationwide Insurance, Retired, 1986-2017
> z/OS Network Software Consultant (z NetView, z/OS Communications Server)
> Contractor, Checks & Balances, Inc.
> Email:  marktre...@gmail.com
> LinkedIn:   https://www.linkedin.com/in/mark-t-regan
>
> --
> 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: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Seymour J Metz
> One important thing though: if you have no need for these features do not use 
> them! :)

Why? I find chained messages more readable than nested function calls. 
Similarly, I find "foo[expresion]" more readable than "bar=expression;foo.bar".


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Rony G. Flatscher [rony.flatsc...@wu.ac.at]
Sent: Monday, January 10, 2022 7:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: 
... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 09.01.2022 16:29, Seymour J Metz wrote:
>> Well all of your languages miss the support for the message paradigm.
> What do you mean by "the message paradigm"? How does it differ from sending 
> method invocation and response messages to objects?

The message paradigm as set forth by Smalltalk explicitly defines a class for 
messages, allows for
intercepting messages, rerouting messages at the will of the programmer and 
much more, as messages
themselves become objects that the programmer can interact with, if needed.

ooRexx implements the message paradigm in full, something that is easily 
overlooked as usually it is
not necessary to be aware of it.

A REXX programmer may stick to REXX programs and still is able to use ooRexx to 
run them as ooRexx
is a snap-in replacement which supports all of REXX and adds additional 
features. For anyone who is
not acquainted to REXX or ooRexx the little ten page 
paper
 gives an
introduction and explains the most important concepts. There is no need for 
more pages to make the
language understandable and applicable for those who already know how to 
program (including
Assembler, VB/VBA/VBA.Net, Python etc. programmers).

In ooRexx messages in code can be identified by locating the message operator 
(tilde: ~). Classic
REXX BIFs (built-in functions) like c2x(), reverse(), substr() etc. are 
available in ooRexx, but
"behind the curtain" the implementation of each string BIF is organized in the 
"String"
class/structure/type where the implementation resides in form of method 
routines that are named
"c2x", "reverse", "substr" and the like. Usually this is not important to know 
if using REXX
concepts only. In the context of this discussion however it allows for 
understanding how ooRexx
works "behind the curtain": everything in ooRexx (like in Smalltalk) is an 
object (synonyms: value,
instance).

Conceptually a programmer communicates with objects by sending them messages as 
if objects were
living things. The object receives the message and will start out to look for a 
method it possesses
that carries the same name as the received message. Once the method is located, 
the object invokes
it, supplying any arguments that may have been given with the message. If the 
method returns a value
(object, instance), the object will return it to the caller. So in the caller 
the message expression
will get replaced with the returned value.

To see how this works an example in REXX (which ooRexx understands and is able 
to execute) and one
in ooRexx:

  * REXX (and ooRexx)

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
say reverse(str) /* reverse the string and show it */

  * ooRexx (message style)

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
say str~reverse  /* reverse the string and show it */

Both yield the same result, here a rexxtry session (in this case on Windows 10):

F:\work\svn\bsf4oorexx\trunk\bsf4oorexx\samples\clr\raffel>rexxtry
REXX-ooRexx_5.0.0(MT)_32-bit 6.05 30 Nov 2021
  rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
  Go on - try a few...Enter 'exit' to end.

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
  ... rexxtry.rex on WindowsNT
say reverse(str)
Hello, IBM-List, how are you today?
  ... rexxtry.rex on WindowsNT
say str~reverse
Hello, IBM-List, how are you today?
  ... rexxtry.rex on WindowsNT

As you can see the results are identical. Here a version that first reverses 
the string, replaces
commas with a blank in the string and then extracts the second word and 

Re: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread David Crayford

On 10/1/22 10:10 pm, Rony G. Flatscher wrote:

On 10/1/22 8:34 pm, Rony G. Flatscher wrote:

On 09.01.2022 16:29, Seymour J Metz wrote:

Well all of your languages miss the support for the message paradigm.

What do you mean by "the message paradigm"? How does it differ from sending 
method invocation
and response messages to objects?

The message paradigm as set forth by Smalltalk explicitly defines a class for 
messages, allows for
intercepting messages, rerouting messages at the will of the programmer and 
much more, as messages
themselves become objects that the programmer can interact with, if needed.

ooRexx implements the message paradigm in full, something that is easily 
overlooked as usually it is
not necessary to be aware of it.

If it's not necessary then why did you make such a big deal about it?

Well if you have really read the entire post you should know. Without 
implementing the message
paradigm things become clumsy and some important features, if you need them, 
are simply not available.


I'm still completely baffled by the why not implementing the "message 
paradigm" is clumsy. Returning "self" from a method makes sense to me. 
What if I'm creating a class which supports method chaining
but some methods return values other than self. Nothing you are saying 
makes sense to me. It's dogma.


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


Re: Port of ooRexx to z/OS? (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Seymour J Metz
> As a little teaser, if interested, just look-up the ooRexx runtime objects
> named .input, .output and .error.

Aren't those just monitor objects?


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Rony G. Flatscher [rony.flatsc...@wu.ac.at]
Sent: Monday, January 10, 2022 7:51 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Port of ooRexx to z/OS? (Re: Ad NetRexx (Re: Ad programming 
features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 10.01.2022 05:28, David Crayford wrote:
> On 9/1/22 11:22 pm, Rony G. Flatscher wrote:
>> On 09.01.2022 03:19, David Crayford wrote:
>>> On 9/1/22 2:15 am, Rony G. Flatscher wrote:
 On 08.01.2022 01:52, David Crayford wrote:
> On 7/1/22 7:53 pm, Rony G. Flatscher wrote:

... cut ...

>>> Number 7 on my list is support for OO which implies message passing.
>> Well, this does not mean that the programming language supports the message 
>> paradigm. If it did it
>> would have an explicit "Message" class (like there are explicit classes like 
>> "Object", "Class",
>> "Method" and the like), hence messages are not FCOs. Compare this to 
>> languages like SmallTalk or
>> ooRexx.
>>
>> Maybe it is easier to grasp some of the ramifications by looking at the 
>> popular fluent pattern
>> (https://secure-web.cisco.com/16gHuUSvm6wTt36qDHrbk52jx7cBfrMxkFy9KdL4OA5teVngp8Mpxa3-ScxQQj6e8NG8rc5Poicg4agf5YtCC7n9giLhoKsCYDHGyaSIplNNZYJpoOiaHTibhkaNKJDd5kMrMIsI7iMuEcfUcSxBtXuq80eRv-jsiH3bt0FEkf2whHXX3X9KAku-TVgGXniJyaOhg4rTanyB_YmPOXyiZKSyA0kL3i8i8SnOVK3RaQ0jMgetCj6diuu61cSmSouZ3VeteLv7HyTfu8lDFu0g2esJUbMSz_nitJ1YkcB_d9OyZvpJb9WB0O6E9S8kPfLuixlWnfmgLwpxGWgYK0xZZcsF18e3TiQuoePIwYl2HE7LOHxHE6lHW7jaAEwPD5ehgtPaIjK7Wqqqbp-m7skw8ruTvJkYUOXXAc5U7m6oGqnt_ugEow8VOV6C1QQlhfDME/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FFluent_interface)
>>  which needs to be explicitly programmed in
>> languages that do not support the message paradigm, but is "freely" ;) 
>> available in languages like
>> Smalltalk and ooRexx.
>
> I'm familiar with fluent APIs. I've been coding C++ and Java for over 25 
> years. They don't need an
> explict "Message", "Object" or "Class". In Java every object is a subclass of 
> Obect. C++ is a
> multi-paradigm language so doesn't require that.
> To write a fluent interface in C++, Java, JavaScript just return "this" from 
> the class method or
> member function. In Lua or Python return self. Then you can chain together 
> method calls. This is
> meat a potatoes stuff in all of the languages I listed.

Yes, one has to explicitly change the method signatures in strictly typed 
languages to return the
object for which the method executes and one must supply the appropriate return 
statement in each of
these methods, which is fine.

---

In ooRexx however, you do not have to explicitly code "return self" in methods 
in order to use
methods of a class fluently. It even does not matter whether a method returns 
the proper object
(referred to with the variable named self in the fluent method) or has no 
return value at all! If an
ooRexx programmer wants to use an object's/value's/instance's methods 
("behaviour") fluently, he can
do so independent of whether the method returns the proper object or not.

It is this flexibility (if needed) that is available by design, because of the 
full implementation
of the message paradigm, relieving the programmers of burdens they must undergo 
in many popular
programming languages, and all must apply properly the pattern.

---

There are other aspects, abilities that ooRexx possesses that other popular 
programming languages
lack because of the message paradigm ooRexx implements. As a little teaser, if 
interested, just
look-up the ooRexx runtime objects named .input, .output and .error. As 
harmless as they may look,
it is incredible which power they make available to programmers if need be. But 
that would be
another story ...

---rony

--
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: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony G. Flatscher
On 10.01.2022 14:13, David Crayford wrote:
> On 10/1/22 8:34 pm, Rony G. Flatscher wrote:
>> On 09.01.2022 16:29, Seymour J Metz wrote:
 Well all of your languages miss the support for the message paradigm.
>>> What do you mean by "the message paradigm"? How does it differ from sending 
>>> method invocation
>>> and response messages to objects?
>> The message paradigm as set forth by Smalltalk explicitly defines a class 
>> for messages, allows for
>> intercepting messages, rerouting messages at the will of the programmer and 
>> much more, as messages
>> themselves become objects that the programmer can interact with, if needed.
>>
>> ooRexx implements the message paradigm in full, something that is easily 
>> overlooked as usually it is
>> not necessary to be aware of it.
>
> If it's not necessary then why did you make such a big deal about it?

Well if you have really read the entire post you should know. Without 
implementing the message
paradigm things become clumsy and some important features, if you need them, 
are simply not available.


>
>> As you can see, if there should be need for adding external functions and/or 
>> methods to ooRexx, this
>> can be done with the powerful and easy to use C++ API of ooRexx. As a matter 
>> of fact BSF4ooRexx and
>> dbusoorexx are using those native C++ APIs allowing high speed and using all 
>> that is available in
>> and via the C++ world.
>
> ooRexx will never be high speed because it's implementation is fundamentally 
> ineffecient. 

LOL!

ooRexx for any practical purpose is more than speedy enough! And its speedness 
has been excercised
in quite a few applications I wrote in the past twenty, twenty fiver years.

Have you every tried it out, e.g. for controlling applications, processes, 
having macros dispatched
against hosting applications, for processing MS Office documents, 
OpenOffice/LibreOffice documents,
controlling your Linux infrastructure via DBus, taking advantage of e.g. data 
mining Java class
libraries etc., etc.?

Clearly you have not, hence it is unfortunately ongoing badmouthing without any 
practical experience
knowledge.


> Most scripting languages compile to bytecode which is then processed by a VM. 
> For example, the Lua
> VM is less tha 2K lines of code and can fit into L2 cache which is why it's 
> blistering fast
> https://www.lua.org/source/5.1/lvm.c.html. 

Cool! If high speed is so important then Assembler would be much better, of 
course, forget Lua by
comparison! ;)


> ooRexx chose to use a graph of C++ classes with abstract base classes for 
> every instruction and
> clause. OMG, dynamic dispatch for every instruction!

You seem to not understand - or intentionally ignore - the implications of a 
true implementation of
the message paradigm, the power, the flexibility and the easeness for 
unleashing it.


> https://github.com/ooRexx/ooRexx/tree/master/interpreter/instructions
>
> It's gigantic clump of inefficient code based upon inheritance. 

Badmouthing again. If you really believe that you should go back to text books 
then and read about
oo and inheritance all over and  stop requesting OO-features to be present in 
programming languages
at all, which you have been claiming is so important in the first place...

And while giving us the impression you would be an expert in this field how 
does it compare to
Objective-C?

Now the red herring seems to be clumsiness, high speed, unnecessary 
inheritance, ... unfortunately
distracting and badmouthing again. :(


> The GoF Design Patterns book which dates back to the 90s was a 
> groundbreaking, seminal work which
> had a central theme of introducing patterns to avoid inheritance. 

Please stop giving misinformation (I have read the book decades ago)!

But fighting inheritance, declaring it to be useless, clumsy all of a sudden is 
quite strange to say
the least.


> Modern languages like Rust don't even support Inheritance.

There are assemblers that do neither, so wouldn't they be much better than Rust 
then?  ;)

[Your "name calling" of languages suggesting you would be an expert in all of 
them has not been
really convincing and not really relevant in this context.]


> If you want high speed then use a JIT compiler. The Lua Functional library 
> used with LuaJIT can
> boil a chain of method calls down to a dozen instructions with no linkage 
> overhead
> https://luafun.github.io/intro.html. The Julia programming language can do 
> the same with similar
> syntax. If I wanted to use REXX
> I would use NetRexx to take advantage of the JVM JIT.

Indeed, if high speed is of high priority and you are not able to mix and match 
languages then that
is always a nice path to go: starting out with Assembler of course.

And yes, NetRexx qualifies like Java, Kotlin, Groovy and the like which is 
really great as REXX
programmers can quickly take advantage of the NetRexx language.

If there are segments that need high speed such that ooRexx would not qualify, 
then you can easily

Re: EXTERNAL: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Crawford, Robert C.
The 4GL's from the 80's had two problems, as I remember.  First, if you wanted 
to customize something, make it a little snazzier than out of the box, you had 
to od some pretty wicked things that weren't human language like at all.  

Second, they didn't perform as well as real programming languages.  That may be 
why the 4GL's tended to be relegated to back-office work by end-users.

Robert Crawford
Mainframe Management
United Services Automobile Association
(210) 913-3822

"Moy glaz! YA ne dolzhen dobavlyat' v nego puding!"
- Tolstoy
Please send requests to mainframe management through our front door at  
go/mfmfrontdoor

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Bob 
Bridges
Sent: Friday, January 7, 2022 3:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: EXTERNAL: Re: ... Re: Top 8 Reasons for using Python instead of REXX 
for z/OS

I agree with Shmuel; we heard a lot about 4GLs back in the '80s and '90s, but I 
never saw one that lived up to the claims.  DYL-280II, for example, was 
advertised as a 4GL, but it wasn't close.  Don't get me wrong, as a 3GL I liked 
it just fine, and my company had me teach it to end users so they could fetch 
data from their particular databases without throwing off developers' estimated 
completion dates -- very successfully, I add happily.
But it was no 4GL.

Actually I lump 4GLs and AI into the same bucket.  They're related, I think:
Folks dream of getting computers to think and talk like a human, but so far it 
hasn't happened and I suspect it cannot happen.  But then as a Christian I'm 
also a mystic, by which I mean that the 37 cents' worth of chemicals that one 
often hears about are not what we are, only what we're made of, and that the 
scientists' attempts to figure out what consciousness is and why it evolved is 
doomed to failure because they're starting with the wrong postulates.  But, 
heck, I may be mistaken.  Maybe someday a computer will pass a really decent 
Turing test.

I'm not concerned that my profession is about to wither away, though.

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

/* Woe to him inside a nonconformist clique who does not conform with 
nonconformity.  -Eric Hoffer */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Friday, January 7, 2022 16:09

I know of languages that have been peddled as human oriented or English like; I 
don't know of any that even come close. 

--
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: Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread David Crayford

On 10/1/22 8:34 pm, Rony G. Flatscher wrote:

On 09.01.2022 16:29, Seymour J Metz wrote:

Well all of your languages miss the support for the message paradigm.

What do you mean by "the message paradigm"? How does it differ from sending 
method invocation and response messages to objects?

The message paradigm as set forth by Smalltalk explicitly defines a class for 
messages, allows for
intercepting messages, rerouting messages at the will of the programmer and 
much more, as messages
themselves become objects that the programmer can interact with, if needed.

ooRexx implements the message paradigm in full, something that is easily 
overlooked as usually it is
not necessary to be aware of it.


If it's not necessary then why did you make such a big deal about it?


As you can see, if there should be need for adding external functions and/or 
methods to ooRexx, this
can be done with the powerful and easy to use C++ API of ooRexx. As a matter of 
fact BSF4ooRexx and
dbusoorexx are using those native C++ APIs allowing high speed and using all 
that is available in
and via the C++ world.


ooRexx will never be high speed because it's implementation is 
fundamentally ineffecient. Most scripting languages compile to bytecode 
which is then processed by a VM. For example, the Lua VM is less tha 2K 
lines of code and can fit into L2 cache which is why it's blistering 
fast https://www.lua.org/source/5.1/lvm.c.html. ooRexx chose to use a 
graph of C++ classes with abstract base classes for every instruction 
and clause. OMG, dynamic dispatch for every instruction!


https://github.com/ooRexx/ooRexx/tree/master/interpreter/instructions

It's gigantic clump of inefficient code based upon inheritance. The GoF 
Design Patterns book which dates back to the 90s was a groundbreaking, 
seminal work which had a central theme of introducing patterns to avoid 
inheritance. Modern languages like Rust don't even support Inheritance.


If you want high speed then use a JIT compiler. The Lua Functional 
library used with LuaJIT can boil a chain of method calls down to a 
dozen instructions with no linkage overhead 
https://luafun.github.io/intro.html. The Julia programming language can 
do the same with similar syntax. If I wanted to use REXX

I would use NetRexx to take advantage of the JVM JIT.




Again it is fairly straight-forward and easy to add external routines and 
external methods to ooRexx
if need be.

---rony



--
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: Console message alignement

2022-01-10 Thread Carmen Vitullo
the only other console mode is W to wrap the console messages, (start 
from the bottom once the console is full) but I would not advise using 
MODE=W, the message flow is so fast wrap mode could cause to WTO buffer 
issue. I use W sometime temporally to eyeball the console messages 
looking for issues, then revert back to mode=r


Carmen

On 1/9/2022 12:19 AM, Peter wrote:

Hello

I am referring the MVS tuning and reference to understand the CONSOL
member. I would like to have console message to show from the bottom of the
screen but I could see the message only shows at the upper side and half of
the screen from bottom doesn't show

Is there any parameters in console member which controls the way message
needs to look ?

Peter

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


--
/I am not bound to win, but I am bound to be true. I am not bound to 
succeed, but I am bound to live by the light that I have. I must stand 
with anybody that stands right, and stand with him while he is right, 
and part with him when he goes wrong. *Abraham Lincoln*/


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


Re: Can I use a NAS attached to z/OS

2022-01-10 Thread kekronbekron
IBM is currently working on NFS, so possibly...?
Since HSM can now deal with USS files, does that mean even content from NFS is 
game?

- KB

‐‐‐ Original Message ‐‐‐

On Monday, January 10th, 2022 at 5:30 PM, Colin Paice  
wrote:

> 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: Port of ooRexx to z/OS? (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony G. Flatscher
On 10.01.2022 05:28, David Crayford wrote:
> On 9/1/22 11:22 pm, Rony G. Flatscher wrote:
>> On 09.01.2022 03:19, David Crayford wrote:
>>> On 9/1/22 2:15 am, Rony G. Flatscher wrote:
 On 08.01.2022 01:52, David Crayford wrote:
> On 7/1/22 7:53 pm, Rony G. Flatscher wrote:

... cut ...

>>> Number 7 on my list is support for OO which implies message passing.
>> Well, this does not mean that the programming language supports the message 
>> paradigm. If it did it
>> would have an explicit "Message" class (like there are explicit classes like 
>> "Object", "Class",
>> "Method" and the like), hence messages are not FCOs. Compare this to 
>> languages like SmallTalk or
>> ooRexx.
>>
>> Maybe it is easier to grasp some of the ramifications by looking at the 
>> popular fluent pattern
>> (https://en.wikipedia.org/wiki/Fluent_interface) which needs to be 
>> explicitly programmed in
>> languages that do not support the message paradigm, but is "freely" ;) 
>> available in languages like
>> Smalltalk and ooRexx.
>
> I'm familiar with fluent APIs. I've been coding C++ and Java for over 25 
> years. They don't need an
> explict "Message", "Object" or "Class". In Java every object is a subclass of 
> Obect. C++ is a
> multi-paradigm language so doesn't require that.
> To write a fluent interface in C++, Java, JavaScript just return "this" from 
> the class method or
> member function. In Lua or Python return self. Then you can chain together 
> method calls. This is
> meat a potatoes stuff in all of the languages I listed.

Yes, one has to explicitly change the method signatures in strictly typed 
languages to return the
object for which the method executes and one must supply the appropriate return 
statement in each of
these methods, which is fine.

---

In ooRexx however, you do not have to explicitly code "return self" in methods 
in order to use
methods of a class fluently. It even does not matter whether a method returns 
the proper object
(referred to with the variable named self in the fluent method) or has no 
return value at all! If an
ooRexx programmer wants to use an object's/value's/instance's methods 
("behaviour") fluently, he can
do so independent of whether the method returns the proper object or not.

It is this flexibility (if needed) that is available by design, because of the 
full implementation
of the message paradigm, relieving the programmers of burdens they must undergo 
in many popular
programming languages, and all must apply properly the pattern.

---

There are other aspects, abilities that ooRexx possesses that other popular 
programming languages
lack because of the message paradigm ooRexx implements. As a little teaser, if 
interested, just
look-up the ooRexx runtime objects named .input, .output and .error. As 
harmless as they may look,
it is incredible which power they make available to programmers if need be. But 
that would be
another story ...

---rony

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


Ad message paradigm (Re: Ad NetRexx (Re: Ad programming features (Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread Rony G. Flatscher
On 09.01.2022 16:29, Seymour J Metz wrote:
>> Well all of your languages miss the support for the message paradigm.
> What do you mean by "the message paradigm"? How does it differ from sending 
> method invocation and response messages to objects?

The message paradigm as set forth by Smalltalk explicitly defines a class for 
messages, allows for
intercepting messages, rerouting messages at the will of the programmer and 
much more, as messages
themselves become objects that the programmer can interact with, if needed.

ooRexx implements the message paradigm in full, something that is easily 
overlooked as usually it is
not necessary to be aware of it.

A REXX programmer may stick to REXX programs and still is able to use ooRexx to 
run them as ooRexx
is a snap-in replacement which supports all of REXX and adds additional 
features. For anyone who is
not acquainted to REXX or ooRexx the little ten page 
paper gives an
introduction and explains the most important concepts. There is no need for 
more pages to make the
language understandable and applicable for those who already know how to 
program (including
Assembler, VB/VBA/VBA.Net, Python etc. programmers).

In ooRexx messages in code can be identified by locating the message operator 
(tilde: ~). Classic
REXX BIFs (built-in functions) like c2x(), reverse(), substr() etc. are 
available in ooRexx, but
"behind the curtain" the implementation of each string BIF is organized in the 
"String"
class/structure/type where the implementation resides in form of method 
routines that are named
"c2x", "reverse", "substr" and the like. Usually this is not important to know 
if using REXX
concepts only. In the context of this discussion however it allows for 
understanding how ooRexx
works "behind the curtain": everything in ooRexx (like in Smalltalk) is an 
object (synonyms: value,
instance).

Conceptually a programmer communicates with objects by sending them messages as 
if objects were
living things. The object receives the message and will start out to look for a 
method it possesses
that carries the same name as the received message. Once the method is located, 
the object invokes
it, supplying any arguments that may have been given with the message. If the 
method returns a value
(object, instance), the object will return it to the caller. So in the caller 
the message expression
will get replaced with the returned value.

To see how this works an example in REXX (which ooRexx understands and is able 
to execute) and one
in ooRexx:

  * REXX (and ooRexx)

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
say reverse(str) /* reverse the string and show it */

  * ooRexx (message style)

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
say str~reverse  /* reverse the string and show it */

Both yield the same result, here a rexxtry session (in this case on Windows 10):

F:\work\svn\bsf4oorexx\trunk\bsf4oorexx\samples\clr\raffel>rexxtry
REXX-ooRexx_5.0.0(MT)_32-bit 6.05 30 Nov 2021
  rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
  Go on - try a few...Enter 'exit' to end.

str="?yadot uoy era woh ,tsiL-MBI ,olleH"
  ... rexxtry.rex on WindowsNT
say reverse(str)
Hello, IBM-List, how are you today?
  ... rexxtry.rex on WindowsNT
say str~reverse
Hello, IBM-List, how are you today?
  ... rexxtry.rex on WindowsNT

As you can see the results are identical. Here a version that first reverses 
the string, replaces
commas with a blank in the string and then extracts the second word and 
displays it, using the same
rexxtry session:

say word(changestr(',',reverse(str),' '),2)
IBM-List
  ... rexxtry.rex on WindowsNT
say str~reverse~changestr(',',' ')~word(2)
IBM-List
  ... rexxtry.rex on WindowsNT

As one can have white space around the message operator one could use it to 
e.g. format the message
version as:

say str~reverse ~changestr(',',' ') ~word(2)
IBM-List
  ... rexxtry.rex on WindowsNT

Once one is accustomed to the message paradigm it becomes easy to use it (and 
also to read the
message version statements).

---

One nice thing about this is the abstraction that goes with it: we as 
programmers do not need to
understand how the implementation goes we only need to know which messages an 
object understands and
then send it to it (the object has the knowledge and inventory to resolve it 
appropriately).

---

However there is much more a full implementation of the message paradigm allows 
for, e.g. monitoring
messages that get sent to an object, rerouting/forwarding messages to 

Re: Just FYI: The 2021 Most Loved, Most Dreaded, and Most Wanted Programming Languages

2022-01-10 Thread Steve Horein
Where the hell is "Refer to documentation"?

What do you do when you get stuck

Google it 89.69%
Visit Stack Overflow 79.96%
Do other work and come back later 48.01%
Watch help / tutorial videos 43.56%
Call a coworker or friend 39.5%
Go for a walk or other physical activity 37.04%
Play games 14.63%
Panic 11.99%
Meditate 9.37%
Visit another developer community (please name): 7.92%


On Sat, Jan 8, 2022 at 10:44 AM Mark Regan  wrote:

> Just providing the link as is. I'm not a software programmer myself; my
> wife, son, and daughter are the programmers in my family, even my wife's
> sister was a programmer. So the programming force runs strong in my family
> and hers.
>
>
> https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted
>
> Regards,
>
> Mark Regan, K8MTR General, EN80tg
> CTO1 USNR-Retired (1969-1991)
> Nationwide Insurance, Retired, 1986-2017
> z/OS Network Software Consultant (z NetView, z/OS Communications Server)
> Contractor, Checks & Balances, Inc.
> Email:  marktre...@gmail.com
> LinkedIn:   https://www.linkedin.com/in/mark-t-regan
>
> --
> 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: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

2022-01-10 Thread David Crayford

On 10/1/22 6:13 am, Seymour J Metz wrote:

he raison d'être of the mainframe is to run applications written in COBOL.

What is FORTRAN, chopped liver?


AFAIK, there is no officially supported Fortran (or Ada) compiler for 
z/OS. When Rocket ported the R programming language to z/OS we had to 
port a Fortran to C transpiler. Bringing back Fortran is another sweet 
spot that a z/OS LLVM port will solve.






--
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: Friday, January 7, 2022 11:16 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ... Re: Top 8 Reasons for using Python instead of REXX for z/OS

On 8/1/22 1:42 am, Tony Harminc wrote:

On Fri, 7 Jan 2022 at 11:45, Lionel B. Dyck  wrote:


I've been following this thread and one thing that has yet to appear, or I 
missed it, has to do with 4GL's and the drive, at one point, for languages that 
were more human oriented - those that could be written more like a normal 
sentence or phrase, and avoid the technical jargon/gobblygook/syntax. As I 
recall in the 1980's there were a few but nothing came of them, instead we have 
languages that have their own syntax, and which require extensive learning but 
nothing that allows a non-programmer to actually generate a complex business 
program.

COBOL was supposed to be that, no? Managers could in theory at least
read (if not write) a COBOL program and understand what it does,
because it so (superficially) resembles English.

It's interesting that no language since COBOL has ever tried to emulate
the "english" syntax. It turns out that it was not actually a terribly
good idea. Programmers preferred languages with more concise syntax.

BTW, I'm not knocking COBOL. I'm a mainframe guy and I'm cognizant to
the fact that the raison d'être of the mainframe is to run applications
written in COBOL. PL/I programmers will disagree but COBOL is king.



  From my experience, REXX has many of the 4GL goals as the syntax isn't overly 
complex and is something a non-programmer can comprehend rather easily. As has 
been previously mentioned in this thread, REXX can be more readily learned and 
used than the majority of the current languages. It isn't perfect but it works 
very well.

Indeed.

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


Can I use a NAS attached to z/OS

2022-01-10 Thread Colin Paice
Having a playful and inquiring mind, I wondered if it was possible to get
HSM etc to work with a Network Attached Storage box (Synology).  For
education - not production.
Colin

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


Re: Available ASIDs low and dropping

2022-01-10 Thread Rob Scott
John

It is not as easy as just using "REUSASID=YES" on start commands and I would 
not advise randomly starting system software address spaces with that parameter 
to "see what happens".

The most likely reason (**) for IEF352I is that the offending address space 
established a PC-ss with a system linkage index (LX) and therefore has an 
implicit cross-memory bind to every address space in the system. When this 
address space terminates, the system must therefore mark the address space 
non-reusable to preserve system integrity.
The server code can request a reusable system-LX so that the IEF352I situation 
does not occur, however all clients invoking the PC routine must now specify a 
special sequence number (in the HH of R15) along with the PC number.

So the bottom line is that REUSASID=YES will only help if the code causing 
IEF352I has been updated to support reusable system LX. If ADABAS supports 
REUSASID=YES, then the vendor may have documented it in the manuals (or you 
might have to raise a support ticket to ask them).

The next thing that springs to mind is  - why do you stop/restart ADABAS every 
week? Surely modern versions of database software support continuous 
availability these days - maybe another question for the vendor.

Peter Relson has presented many times on the "ASN and LX Reus Facility" over 
the years - I am sure that there is something out there on the internet.

(*) Both DB2 and MQ do NOT currently support (AFAIK) client callers from 
REUSASID=YES address spaces.

(**) Note that there are other instances where there are servers with PC-ss 
with non-system LX and client address spaces have to explicitly "connect" to 
the server. When these server ASIDs terminate with IEF352I, the ASID can be 
reclaimed once every client address space terminates and there are no more 
outstanding cross-memory links. This technique is not as commonplace as 
system-LX PC-ss.

Rob Scott
Rocket Software

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John Blythe Reid
Sent: 10 January 2022 11:12
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Available ASIDs low and dropping

EXTERNAL EMAIL





Thanks Rob, Robin,

It was the IEA_ASIDS healthcheck that triggered the alert.

In this case it's due to recycling ADABAS regions. They do it weekly and each 
region terminates with this message:

IEF352I ADDRESS SPACE UNAVAILABLE

MXI currently shows this, so you can see that there's not long to go:

 Address Space Definitions
 Maximum Defined   500
 Reserved Non-Reusable500
 Reserved Start Commands5

 Address Space TypeNumber  Percentage
 Available For Use 29   2
 Marked Not-Reusable   816  81
 Started Tasks Active 111  11
 Batch Jobs Active7   0
 TSO Users Active 2   0
 Initiators Active   39   3

I notice this suggestion in the IBM documentation:

An address space that becomes nonreusable when it terminates (that is, message 
IEF352I ADDRESS SPACE UNAVAILABLE is issued when the address space terminates) 
should be considered for using a reusable ASIDs. Specify REUSASID=YES on the 
START command for the address spaces or specify ATTR=(REUSASID) on the ASCRE. 
Investigate and remediate any 0D3 abends that result from the use of a reusable 
ASID.

I don't like the look of those 0D3 abends though.

Any thoughts on this ?

Regards,
John.

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


Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy


This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

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


Re: Available ASIDs low and dropping

2022-01-10 Thread Robin Atwood
The usual trick is to recycle the ASID restarting the non-reusable ASIDs, IIRC.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John Blythe Reid
Sent: 10 January 2022 18:12
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Available ASIDs low and dropping

Thanks Rob, Robin,

It was the IEA_ASIDS healthcheck that triggered the alert.

In this case it's due to recycling ADABAS regions. They do it weekly and each 
region terminates with this message:

IEF352I ADDRESS SPACE UNAVAILABLE

MXI currently shows this, so you can see that there's not long to go:

 Address Space Definitions
 Maximum Defined   500 
 Reserved Non-Reusable500 
 Reserved Start Commands5 
  
 Address Space TypeNumber  Percentage 
 Available For Use 29   2 
 Marked Not-Reusable   816  81 
 Started Tasks Active 111  11 
 Batch Jobs Active7   0 
 TSO Users Active 2   0 
 Initiators Active   39   3 

I notice this suggestion in the IBM documentation:

An address space that becomes nonreusable when it terminates (that is, message 
IEF352I ADDRESS SPACE UNAVAILABLE is issued when the address space terminates) 
should be considered for using a reusable ASIDs. Specify REUSASID=YES on the 
START command for the address spaces or specify ATTR=(REUSASID) on the ASCRE. 
Investigate and remediate any 0D3 abends that result from the use of a reusable 
ASID.

I don't like the look of those 0D3 abends though.

Any thoughts on this ?

Regards,
John.

--
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: Available ASIDs low and dropping

2022-01-10 Thread John Blythe Reid
Thanks Rob, Robin,

It was the IEA_ASIDS healthcheck that triggered the alert.

In this case it's due to recycling ADABAS regions. They do it weekly and each 
region terminates with this message:

IEF352I ADDRESS SPACE UNAVAILABLE

MXI currently shows this, so you can see that there's not long to go:

 Address Space Definitions
 Maximum Defined   500 
 Reserved Non-Reusable500 
 Reserved Start Commands5 
  
 Address Space TypeNumber  Percentage 
 Available For Use 29   2 
 Marked Not-Reusable   816  81 
 Started Tasks Active 111  11 
 Batch Jobs Active7   0 
 TSO Users Active 2   0 
 Initiators Active   39   3 

I notice this suggestion in the IBM documentation:

An address space that becomes nonreusable when it terminates (that is, message 
IEF352I ADDRESS SPACE UNAVAILABLE is issued when the address space terminates) 
should be considered for using a reusable ASIDs. Specify REUSASID=YES on the 
START command for the address spaces or specify ATTR=(REUSASID) on the ASCRE. 
Investigate and remediate any 0D3 abends that result from the use of a reusable 
ASID.

I don't like the look of those 0D3 abends though.

Any thoughts on this ?

Regards,
John.

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


Re: Available ASIDs low and dropping

2022-01-10 Thread Rob Scott
John

Please also see the IEA_ASIDS healthcheck - lots of good information there.

You can use the SDSF "CK" command and then browse the check using "S" action.

Rob Scott
Rocket Software

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John Blythe Reid
Sent: 10 January 2022 09:44
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Available ASIDs low and dropping

EXTERNAL EMAIL





I have a customer with an LPAR running out of ASIDs. I estimate that they will 
run out in about three weeks time. This is a fairly big deal as they haven't 
IPL'd this LPAR for two years. Clearly an IPL is needed very soon. In fact one 
should have been done long before now. The question I have is what error 
message would be issued when a new address space could not be created due to no 
ASIDs being available ?

If anyone can help thanks in advance.

Regards,
John.

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


Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy


This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

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


Re: Available ASIDs low and dropping

2022-01-10 Thread Robin Atwood
They might get:
IEA061E REPLACEMENT ASID SHORTAGE HAS BEEN DETECTED

This is often associated with DB2. If you can identify the job creating the 
ASIDs,
recycling it will help alleviate the shortage. There is a lot on this subject 
in the
list archives.

HTH
Robin

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
John Blythe Reid
Sent: 10 January 2022 16:44
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Available ASIDs low and dropping

I have a customer with an LPAR running out of ASIDs. I estimate that they will 
run out in about three weeks time. This is a fairly big deal as they haven't 
IPL'd this LPAR for two years. Clearly an IPL is needed very soon. In fact one 
should have been done long before now. The question I have is what error 
message would be issued when a new address space could not be created due to no 
ASIDs being available ?

If anyone can help thanks in advance.

Regards,
John. 

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


Available ASIDs low and dropping

2022-01-10 Thread John Blythe Reid
I have a customer with an LPAR running out of ASIDs. I estimate that they will 
run out in about three weeks time. This is a fairly big deal as they haven't 
IPL'd this LPAR for two years. Clearly an IPL is needed very soon. In fact one 
should have been done long before now. The question I have is what error 
message would be issued when a new address space could not be created due to no 
ASIDs being available ?

If anyone can help thanks in advance.

Regards,
John.

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