SIGNAL in PL/I is well behaved; in REXX, not so much.

I like REXX, but it would have been much cleaner had iterate and leave used a 
label on the do rather than using the control variable. It would also have been 
cleaner had there been a proper GOTO so that people wouldn't shoot themselves 
in the foot misusing SIGNAL as an ersatz goto.

What are long-ITERATE and long-LEAVE?


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

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on behalf 
of Paul Gilmartin [[email protected]]
Sent: Tuesday, June 2, 2020 12:47 PM
To: [email protected]
Subject: Re: z/OS HLASM: EQU for statement labels

On 2020-06-02, at 10:32:23, Seymour J Metz wrote:
>
>         if x
>            if y
>               do a
> foo         endif
> bar      else
>           do b
>         endif
>
>> Then later if you want to insert more instructions immediately before the 
>> ELSE, it is very clear where to put them and none of the labels change.
>
>         if x
>            if y
>               do a
> foo         endif
>            xc    baz,baz
> bar      else
>           do b
>         endif
>
Gasp!  There are obsessive advocates of GOTO-less coding;
there are staunch defenders of GOTO.  The above appears to
invite the worst of both practices.  Throw in a SIGNAL
for good measure.

(But I admire Rexx for labelled END, ITERATE, and LEAVE,
and I wish for long-ITERATE and long-LEAVE.)

-- gil

Reply via email to