Make your own free website on
5.2. REXX’s Notion of a Stream

REXX regards a stream as a sequence of characters, conceptually
equivalent to what a user might type at the keyboard. Note that a
stream is not generally equivalent to a file.  [MCGH:DICT] defines
a file as “a collection of related records treated as a unit,”
while [OX:CDICT] defines it as “Information held on backing store
[...] in order (a) to enable it to persist beyond the time of
execution of a single job and/or (b) to overcome space limitations
in main memory.” A stream is defined by [OX:CDICT] as “a flow of
data characterized by relative long duration and constant rate.”

Thus, a file has a flavor of persistency, while a stream has a
flavor of sequence and momentarily. For a stream, data read
earlier may already have been lost, and the data not yet read may
not be currently defined; for instance the input typed at a
keyboard or the output of a program. Even though much of the REXX
literature use these two terms interchangeably (and after all,
there is some overlap), you should bear in mind that there is a
difference between them.

In this documentation, the term “file” means “a collection of
persistent data on secondary storage, to which random access and
multiple retrieval are allowed.” The term “stream” means a
sequential flow of data from a file or from a sequential device
like a terminal, tape, or the output of a program. The term stream
is also used in its strict REXX meaning: a handle to/from which a
flow of data can be written/read.