Communications and Event Handling with REXX

Автор: Rainer F. Hauser

Дата: май, 1992

 Источник:  www.rainerhauser.ch

Скачать полный текст статьи в формате pdf.

Some Questions

REXX is a sequential procedure (macro, control or glue) language. Is it really, or could it be that it is actually a programming language? What about REXX and concurrency?

Communications:

Is REXX the right choice for programming communications software? Does it provide the necessary constructs for such programs? What about the performance?

Event Handling:

Is REXX suitable for general event handling? What is missing today for writing such programs? What are the events which fit the paradigm of REXX?

Three REXX Extension Packages:

A kind of answer ”by doing” to some of these questions:
• REXXIUCV: REXX Interface to IUCV
• REXXSOCK: REXX Interface to TCP/IP Socket Calls
• REXXWAIT: REXX General Purpose Event Handling with a Central Wait Function

REXX and Concurrency Today

A REXX program can process events sequentially. To do so, it needs the possibility to find out when an event has occurred, but has not yet been consumed.
The following REXX statements determine whether a console event is pending:

    if externals()>0 then ...

When no event is currently pending, it needs the possibility to wait for an event.
The following REXX statements wait for a console event:

    say ’Enter your name, please.’

    parse external name

To avoid being blocked despite a pending event which could be processed, it needs the possibility to wait for one event within a given list of events.
Today, a REXX program can
• sometimes not determine whether a specific event is
pending
• often not wait for a specific event
• not wait for one event within a given list of events