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