On Fri, 5 Jun 2020 17:13:58 +0000, Seymour J Metz wrote:

>foo = value('BAR',,baz)
>________________________________________
>From: Charles Mills
>Sent: Friday, June 5, 2020 12:27 PM
>
>It is SO counter-intuitive to put the name of a variable in quotes. You would 
>not code ENQ ('MYMAJOR','MYMINOR',E,8).
>Once you realize that EXECIO is an external command, not a language keyword, 
>you start to get it.
>
Rexx grammar is a glorious context-sensitive chaos. As when
I tried to understand the ANSI spec for ADDRESS and failed.

MFC's intent was to be intuitive rather than axiomatic.

Perhaps Rexx General Concepts should contain a section
on use of symbol names with an incomplete list:

PROCEDURE EXPOSE
    not quoted

ADDRESS
    sometimes not quoted

VALUE(); SYMBOL();
    quoted

ADDRESS LINK*/ATTCH*
    arguments quoted in separate strings

EXECIO ... ( STEM )
    quoted

Documented elsewhere:
BPXWDYN( ... MSG() )
    stem, descriptor, keyword lexically distinguished

BPXWUNIX( stdin, stdout, stderr )
    stem, ddname lexically distinguished

ADDRESS SYSCALL
    quoted ( symbol name )

ADDRESS ISPEXEC/ISREDIT
    shared variable references

ADDRESS SDSF
    various stems

And your favorites?

-- gil

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