"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
