Don't forget the short lived name MPPL.

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


________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of CM 
Poncelet <ponce...@bcs.org.uk>
Sent: Wednesday, September 9, 2020 10:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX true/false (was Constant Identifiers)

Yes. My post-grad thesis was on PL/I - and on its being originally
called Fortran VI in 1962, then NPL in '64, then distributed as PL/I in
'66 together with OS/360.

I wrote PL/I before Clist/CLIST and long before REXX.

Confused am I?



On 09/09/2020 05:49, Seymour J Metz wrote:
> Have you ever heard of PL/I? Much of the syntax of REXX derives from PL/I, 
> and it has two different string types: CHARACTER and BIT.
>
> With regard to the built in functions, you are once again confusing the type 
> of a variable with its contents. Would you argue that +1 in -1 are different 
> data types because one is a valid input to sqrt and the other is not?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
>
> ________________________________________
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
> CM Poncelet <ponce...@bcs.org.uk>
> Sent: Tuesday, September 8, 2020 7:53 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: REXX true/false (was Constant Identifiers)
>
> Mr Bridges,
>
> 1) The reason the program does not abend is it has a "SIGNAL ON SYNTAX
> NAME ERROR3" coded before the "IF TRUE THEN...", which traps the abend
> and resumes execution at label ERROR3.
>
> 2) I disagree with Mr Metz on the grounds that he argues that
> "everything in REXX is a character string" - upon which I then
> implicitly ask, "What is a non-character string and in what 3GL, 2GL,
> 1GL language (but not 0GL, as that would be microcode) do such
> non-character strings exist that do not exist in REXX?"
>
> It has nothing to do with EBCDIC and ASCII. It is that REXX supports all
> binary strings - as in the REXX functions C2D, C2X, D2X, X2B, B2X,
> BITAND, BITOR, BITXOR etc. and as applied in reading/processing
> unformatted 'raw' system dumps. To argue that "everything in REXX is a
> character string"is meaningless. It might be appropriate to argue that
> "everything in REXX is a binary string", as that would include
> "character string" - or even "everything in REXX is a string", because
> that would be sufficient in itself and would not constrain all REXX
> strings to have to be "character" ones. As I said, REXX supports all
> binary strings - not only "character" ones.
>
> Not sure whether that answers your questions, but I hope it does.
>
> Cheers, Chris Poncelet (retired sysprog)
>
>
> On 08/09/2020 16:27, Bob Bridges wrote:
>> Mr Poncelet, I'm interested in this example.  Two questions:
>>
>> 1) Once TRUE is set to a '1'b in the last two sections, why does the program
>> not abend when it encounters "IF TRUE THEN..."?  Seems to me REXX should
>> complain that TRUE is not 1 or 0.
>>
>> 2) From your preceding posts I got the impression you were disagreeing with
>> Mr Metz, that you believed REXX represented data in other forms that EBCDIC
>> character strings.  (EBCDIC in TSO REXX, that is; I'm not concerned with
>> ASCII platforms here.)  But your example seems to support his assertion.
>> Did I misunderstand you?  What am I missing?
>>
>> ---
>> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>>
>> /* This is how sin happens. We don't set out to do something very wrong. We
>> make up stories that sound good to ourselves about how the thing really
>> isn't that wrong, or how it really isn't anybody else's business. / Before
>> we lie to others, we lie to ourselves. Do that, and it can be hard to find
>> the truth again, even when it is obvious nothing but the truth will do.
>> -Maggie Gallagher, 2001-08-27 */
>>
>> -----Original Message-----
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
>> Behalf Of CM Poncelet
>> Sent: Monday, September 7, 2020 22:33
>>
>> You said, "It isn't boolean; everything in REXX is a character string."
>>
>> I agree that "it's all strings", but not that "everything in REXX is a
>> *character* string."
>>
>> Try the following:
>>
>> ARG DEBUG
>> IF ABBREV(DEBUG,D,1) THEN ,
>>   TRACE I
>>
>> SIGNAL ON SYNTAX NAME ERROR0
>> TRUE = 1
>> SAY 'TRUE NUMERIC   = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE NUMERIC'
>> IF TRUE THEN SAY 'YES, TRUE NUMERIC'
>>
>> ERROR0:
>> SIGNAL ON SYNTAX NAME ERROR1
>> TRUE = '1'
>> SAY 'TRUE CHARACTER = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE CHARACTER'
>> IF TRUE THEN SAY 'YES, TRUE CHARACTER'
>>
>> ERROR1:
>> SIGNAL ON SYNTAX NAME ERROR2
>> TRUE = '31'X
>> SAY 'TRUE HEXADECIMAL = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE HEXADECIMAL'
>> IF TRUE THEN SAY 'YES, TRUE HEXADECIMAL'
>>
>> TRUE = '00110001'B
>> SAY 'TRUE BINARY HEX  = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE BINARY HEX'
>> IF TRUE THEN SAY 'YES, TRUE BINARY HEX'
>>
>> TRUE = '00000001'B
>> SAY 'TRUE BINARY ONLY = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE BINARY ONLY'
>> IF TRUE THEN SAY 'YES, TRUE BINARY ONLY'
>>
>> ERROR2:
>> SIGNAL ON SYNTAX NAME ERROR3
>> TRUE = '1'B
>> SAY 'TRUE BINARY BIT  = 'TRUE
>> SAY 'DATATYPE TRUE  = 'DATATYPE(TRUE)
>> IF ¬TRUE THEN SAY 'NOT TRUE BINARY BIT'
>> IF TRUE THEN SAY 'YES, TRUE BINARY BIT'
>>
>> ERROR3:
>> EXIT 0
>>
>>
>> ... which produces output:
>>
>> TRUE NUMERIC   = 1
>> DATATYPE TRUE  = NUM
>> YES, TRUE NUMERIC
>> TRUE CHARACTER = 1
>> DATATYPE TRUE  = NUM
>> YES, TRUE CHARACTER
>> TRUE HEXADECIMAL = 1
>> DATATYPE TRUE  = NUM
>> YES, TRUE HEXADECIMAL
>> TRUE BINARY HEX  = 1
>> DATATYPE TRUE  = NUM
>> YES, TRUE BINARY HEX
>> TRUE BINARY ONLY = ?    <--
>> DATATYPE TRUE  = CHAR   <--
>> TRUE BINARY BIT  = ?    <--
>> DATATYPE TRUE  = CHAR   <--
>>
>> PRESS ANY KEY TO CONTINUE.
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>> .
>>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> .
>

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

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

Reply via email to