Date: Fri, 14 Nov 1997 13:40:09 -0600
Reply-To: REXX Programming discussion list <REXXLIST@UGA.CC.UGA.EDU>
Sender: REXX Programming discussion list <REXXLIST@UGA.CC.UGA.EDU>
From: Doug Quale <qualed@MAIL.STATE.WI.US>
Organization: State of Wisconsin
Subject: Re: regular expression matching
Content-Type: text/plain; charset=us-ascii
A. Harry Williams wrote:
> On Thu, 13 Nov 1997 20:09:30 GMT said:
> >>As for REXX itself, the PARSE instruction is complex and weak, and the
> >>bizarre I/O model betrays its CMS origins.
> This is a really strange statement, in that the Rexx that runs on CMS
> doesn't support the standard Rexx I/O model, so how can it betry it's
> CMS origins.
You misunderstand the "standard REXX I/O model" and the history of
REXX. The standard I/O model term is confusing, since REXX has 2
different I/O models. The first I/O model is the external data queue
(PUSH, QUEUE, QUEUED and PULL). This model is taken directly from CMS.
The external data queue is a very weak I/O abstraction.
The STREAM model is a more recent invention. Although it has been part
of the REXX standard for some time, IBM's own REXX products do not
implement the standard (OS/2 REXX is probably OK, MVS and CMS REXX are
deficient, don't know about AIX) so STREAM is unavailable on most of
In fact, the CMS puts another blemish on REXX I/O in the form of
EXECIO. EXECIO is a native command in CMS and provided the only means
of REXX file I/O in that environment. (I know you know this, but in
case anyone else is wondering why...) EXECIO was hacked into MVS REXX
and many MSDOS REXX's following the precedent set by the CMS REXX
implementation. EXECIO is an even worse I/O abstraction than external
data queues, but it's all that is available in IBM's implementations on
MVS and CMS.