• #### Re: PL/I enhancements

From Robin Vowels@21:1/5 to Robin Vowels on Fri Sep 2 03:12:25 2022
On Friday, September 2, 2022 at 7:49:55 PM UTC+10, Robin Vowels wrote:
https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/5/897/ENUS222-115/index.html

Here are links to Enterprise Z/OS 6.1 PL/I: the LRM, the Programmers' Guide, and Messages and Codes.

LRM-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/lrm.pdf

PG-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/pg.pdf

MC-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/mc.pdf

Japanese versions will be found by following the link at the top of this post.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Robin Vowels@21:1/5 to All on Fri Sep 2 02:49:54 2022
https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/5/897/ENUS222-115/index.html

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Robin Vowels@21:1/5 to All on Sat Sep 3 04:05:27 2022
Some interesting built-in functions from the 2022 LRM.
Some are old, some are new.

BETWEEN
BETWEEN (X, A, B) is equivalent to the test (a <= x) & (x <= b)

BETWEENEXCLUSIVE
BETWEENEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x = b)

BETWEENLEFTEXCLUSIVE
BETWEENLEFTEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x <= b)

BETWEENRIGHTEXCLUSIVE
BETWEENRIGHTEXCLUSIVE (X, A, B) is equivalent to the test (a <= x) & (x = b)

BINSEARCH
Performs a binary search on a vector.

BINSEARCHX
Performs a binary search on a vector, using a user-supplied compare function.

DAYSTOMICROSECONDS

FIXEDBIN
Converts to FIXED BINARY.

FIXEDDEC
ConverTs to FIXED DECIMAL.

FLOATBIN
Converts to FLOAT BINARY.

FLOATDEC
Converts to FLOAT DECIMAL.

FOLDEDFULLLATCH
Compares two strings after folding both to lowercase, according to UNICODE full rules.

FOLDEDSIMPLEMATCH
Compares two strings after folding both to lowercase, according to UNICODE simple rules.

GETSYSWORD
Gets the requested system information for the specified system name.

ICLZ
Returns the number of leading zeros of a binary integer.

INARRAY
Indicates whether the value of an argument is equal to any element of a vector.

INLIST
Similar to INARRAY.

LOWERASCII
Converts to lower-case ASCII.

MICROSECS

MICROSECSTODATE

MICROSECSTODAYS

ONHBOUND
Returns the upper bound of an array when SUBRG is raised.

ONLBOUND
Returns the lower bound of an array when SUBRG is raised.

ONLINE
Returns the line number in which a condition was raised.

ONPROCEDURE
Returns the name of a procedure in which a condition was raised.

ONSUBSCRIPT
Returns the value of the subscript that caused SUBRG to be raised.

PLIPARSE
parsed a character string into substrings.

QUICKSORT
Performs quicksort on a vector.

QUICKSORTX
Performs quicksort on a vector, using a user-supplied compare function.

REPLACE
Returns a string with all occurrences of a substring replaced by another substring.

SQUEEZE
Replaces multiple occurrences of a character with one.

UPPERASCII
All ASCII characters are replaced with upper case equivalent.

WHEREDIFF
Compares two buffers. Returns the position of the first byte that differs.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From John W Kennedy@21:1/5 to Robin Vowels on Sun Sep 4 16:53:24 2022
On 9/3/22 7:05 AM, Robin Vowels wrote:
Some interesting built-in functions from the 2022 LRM.
Some are old, some are new.

BETWEEN
BETWEEN (X, A, B) is equivalent to the test (a <= x) & (x <= b)

BETWEENEXCLUSIVE
BETWEENEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x = b)

What it says is (a < x) & (x < b). That is also what it says in prose,
and is the sensible meaning of BETWEENEXCLUSIVE in normal mathematical parlance.

BETWEENLEFTEXCLUSIVE
BETWEENLEFTEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x <= b)

It says (a < x) & (x <= b)

BETWEENRIGHTEXCLUSIVE
BETWEENRIGHTEXCLUSIVE (X, A, B) is equivalent to the test (a <= x) & (x = b)

It says (a <= x) & (x < b)

BINSEARCH
Performs a binary search on a vector.

BINSEARCHX
Performs a binary search on a vector, using a user-supplied compare function.

DAYSTOMICROSECONDS

FIXEDBIN
Converts to FIXED BINARY.

FIXEDDEC
ConverTs to FIXED DECIMAL.

FLOATBIN
Converts to FLOAT BINARY.

FLOATDEC
Converts to FLOAT DECIMAL.

FOLDEDFULLLATCH
Compares two strings after folding both to lowercase, according to UNICODE full rules.

FOLDEDSIMPLEMATCH
Compares two strings after folding both to lowercase, according to UNICODE simple rules.

GETSYSWORD
Gets the requested system information for the specified system name.

ICLZ
Returns the number of leading zeros of a binary integer.

INARRAY
Indicates whether the value of an argument is equal to any element of a vector.

INLIST
Similar to INARRAY.

LOWERASCII
Converts to lower-case ASCII.

MICROSECS

MICROSECSTODATE

MICROSECSTODAYS

ONHBOUND
Returns the upper bound of an array when SUBRG is raised.

ONLBOUND
Returns the lower bound of an array when SUBRG is raised.

ONLINE
Returns the line number in which a condition was raised.

ONPROCEDURE
Returns the name of a procedure in which a condition was raised.

ONSUBSCRIPT
Returns the value of the subscript that caused SUBRG to be raised.

PLIPARSE
parsed a character string into substrings.

QUICKSORT
Performs quicksort on a vector.

QUICKSORTX
Performs quicksort on a vector, using a user-supplied compare function.

REPLACE
Returns a string with all occurrences of a substring replaced by another substring.

SQUEEZE
Replaces multiple occurrences of a character with one.

UPPERASCII
All ASCII characters are replaced with upper case equivalent.

WHEREDIFF
Compares two buffers. Returns the position of the first byte that differs.

--
John W. Kennedy
Algernon Burbage, Lord Roderick, Father Martin, Bishop Baldwin,
King Pellinore, Captain Bailey, Merlin -- A Kingdom for a Stage!

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Robin Vowels@21:1/5 to Robin Vowels on Mon Sep 5 00:57:29 2022
On Friday, September 2, 2022 at 8:12:26 PM UTC+10, Robin Vowels wrote:
On Friday, September 2, 2022 at 7:49:55 PM UTC+10, Robin Vowels wrote:
https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/5/897/ENUS222-115/index.html

Here are links to Enterprise Z/OS 6.1 PL/I: the LRM, the Programmers' Guide, and Messages and Codes.

LRM-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/lrm.pdf

PG-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/pg.pdf

MC-2022 https://www.ibm.com/docs/en/SSY2V3_6.1/pdf/mc.pdf

Japanese versions will be found by following the link at the top of this post.

From the 2022 LRM

Some interesting functions

BETWEEN
BETWEEN (X, A, B) is equivalent to the test (a <= x) & (x <= b)

BETWEENEXCLUSIVE
BETWEENEXCLUSIVE (X, A, B) is equivalent to the test (a < x) & (x < b)

BETWEENLEFTEXCLUSIVE
BETWEENLEFTEXCLUSIVE (X, A, B) is equivalent to the test (a < x) & (x <= b)

BETWEENRIGHTEXCLUSIVE
BETWEENRIGHTEXCLUSIVE (X, A, B) is equivalent to the test (a <= x) & (x < b)

BINSEARCH
Performs a binary search on a vector.

BINSEARCHX
Performs a binary search on a vector, using a user-supplied compare function.

DAYSTOMICROSECONDS

FIXEDBIN
Converts to FIXED BINARY.

FIXEDDEC
ConverTs to FIXED DECIMAL.

FLOATBIN
Converts to FLOAT BINARY.

FLOATDEC
Converts to FLOAT DECIMAL.

FOLDEDFULLLATCH
Compares two strings after folding both to lowercase, according to UNICODE full rules.

FOLDEDSIMPLEMATCH
Compares two strings after folding both to lowercase, according to UNICODE simple rules.

GETSYSWORD
Gets the requested system information for the specified system name.

ICLZ
Returns the number of leading zeros of a binary integer.

INARRAY
Indicates whether the value of an argument is equal to any element of a vector.

INLIST
Similar to INARRAY.

LOWERASCII
Converts to lower-case ASCII.

MICROSECS

MICROSECSTODATE

MICROSECSTODAYS

ONHBOUND
Returns the upper bound of an array when SUBRG is raised.

ONLBOUND
Returns the lower bound of an array when SUBRG is raised.

ONLINE
Returns the line number in which a condition was raised.

ONPROCEDURE
Returns the name of a procedure in which a condition was raised.

ONSUBSCRIPT
Returns the value of the subscript that caused SUBRG to be raised.

PLIPARSE
parsed a character string into substrings.

QUICKSORT
Performs quicksort on a vector.

QUICKSORTX
Performs quicksort on a vector, using a user-supplied compare function.

REPLACE
Returns a string with all occurrences of a substring replaced by another substring.

SQUEEZE
Replaces multiple occurrences of a character with one.

UPPERASCII
All ASCII characters are replaced with upper case equivalent.

WHEREDIFF
Compares two buffers. Returns the position of the first byte that differs.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)
• From Robin Vowels@21:1/5 to John W. Kennedy on Mon Sep 5 02:57:21 2022
On Monday, September 5, 2022 at 6:53:28 AM UTC+10, John W. Kennedy wrote:
On 9/3/22 7:05 AM, Robin Vowels wrote:
Some interesting built-in functions from the 2022 LRM.
Some are old, some are new.

BETWEEN
BETWEEN (X, A, B) is equivalent to the test (a <= x) & (x <= b)

BETWEENEXCLUSIVE
BETWEENEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x = b)

What it says is (a < x) & (x < b). That is also what it says in prose,
and is the sensible meaning of BETWEENEXCLUSIVE in normal mathematical parlance.

BETWEENLEFTEXCLUSIVE
BETWEENLEFTEXCLUSIVE (X, A, B) is equivalent to the test (a = x) & (x <= b)

It says (a < x) & (x <= b)

BETWEENRIGHTEXCLUSIVE
BETWEENRIGHTEXCLUSIVE (X, A, B) is equivalent to the test (a <= x) & (x = b)

It says (a <= x) & (x < b)
.
Thanks. Careless transcription.

--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)