"Note that the names of built-infunctions (and generally the names of external 
routines, too) are in uppercase; therefore, you should uppercase the name in 
the literal string."

That seems to say that REXX does *NOT* force it upper.

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


________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Paul Gilmartin <[email protected]>
Sent: Monday, November 23, 2020 11:05 PM
To: [email protected]
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Tue, 24 Nov 2020 02:07:20 +0000, Seymour J Metz wrote:

>I don't know why he quoted it, but quoting the environment name is certainly 
>valid. It's probably a matter of local style.
>
IIRC, in CMS quoted environment names and external function names
are taken as-is.  In TSO they are forced upper.  In OMVS I don't know
whether 'wombat'() and 'WOMBAT'() can distinguish the respective
functions in UNIX files.


On Mon, 23 Nov 2020 18:34:14 -0600, Al Ferguson wrote:

>FYI: EXECIO is supported by MVS and is not part of the TSO 
>extensions/functions of REXX.
>       ADDRESS “MVS” “EXECIO ....”
>
>It appears to work under TSO, because REXX then passes it to MVS before 
>throughing an error.
>
Who excuses the unmatched "("?  But do I remember vaguely that
a missing ")" allowed in TSO commands?

>EXECIO can be used under IRXMVS,
>
"IRXMVS"?  "IRXJCL"?  Whatever.

>but you will need to use BPXWDYN if you want to do dynamic allocation
>(under OS390, BPXWDYN was part of, and required,USS. As of zOS,
>this is no longer the case).
>
IIRC, WJS early made BPXWDYN available as a load module on the
Tools & Toys page, but it never depended on OMVS.

Irritatingly, ADDRESS MVS EXECIO under OMVS has different syntax
and semantics from ADDRESS MVS EXECIO under TSO.  I understand
that "ADDRESS sh 'time'" is different from "ADDRESS TSO 'time'", but
the same host environment should be the same.


On Tue, 24 Nov 2020 11:57:55 +1000, Peter Vels wrote:

>x all 'foo bar'
>del all x
>
Of course.  Thanks.

The drawback is that you're flying blind; you don't see the lines
you're about to delete.  But IIRC vaguely that there's a command
that swaps X and NX lines.

Counting keystrokes because I believe interactive editing should
be a motor skill; ergonomically minimal:  Don't you need a couple
<ENTER>s in there?


On Mon, 23 Nov 2020 20:20:31 -0600, Al Ferguson wrote:

>Performance reasons. Without the quotes REXX first interprets MVS as a 
>variable name, which (probable) has not been set, so takes on the value of the 
>variable name in caps. By putting it in caps, and enclosing it in quotes, I 
>save REXX a few steps and it goes directly to the MVS ADDRESS environment to 
>find the EXECIO function.
>
The formal syntax of Rexx is a nightmare.  Consider the differences between:
    address MVS
    address ( MVS )
    address(  MVS )
    address( "MVS" )
... all different.
>    ...
>I similarly “always” capitalize REXX Key words, to save REXX from having to 
>spend cycles actually FOLDING then up. Old habits, but again I think more 
>readable.
>
I doubt that matters much.  But there's an obe\servable advantage
of "x==y" over "X=Y".  But beware the semantic difference.

And function calls are expensive.  PARSE is faster than SUBSTR() if
you can do the same thing with either.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to