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
