We use cookies to identify each unique session and to enable state information between pages visited on this site. See Cookie Details for what we store. Accept Cookies
× RexxLA Home About RexxLA About Rexx Community Members Symposium

Contact Us

Melinda Varian's Report

Subject:  Fifth Annual REXX Symposium
From:     Melinda Varian 
Date:     Sun, 15 May 1994 22:40:27 EDT

I attended the Fifth Annual REXX Symposium in Boston, May 1-4, and
found it to be very interesting and useful.  I was struck by how much
REXX has spread since the last Symposium.  We saw implementations for
new platforms and continued growth in numbers of users and importance
of uses.  The extent to which REXX has taken on a life of its own was
brought home to me when a friend described a chat he'd had with another
attendee, who turned out never to have heard of REXX's birthplace, CMS.

* * * * * * * * * *

Mike Cowlishaw (IBM) -- Interesting Corners of REXX

The first speaker of the Symposium was Mike Cowlishaw, the author of
REXX.  Mike's topic was "Interesting Corners of REXX".  He pointed out
a number of REXX features that people tend to forget to use, such as
Procedure Expose lists.  One tip that I took home with me was to use
Trace Labels to verify that all paths through a program are exercized
by one's test suite.  Mike showed this nice little program to determine
the parity of a byte:

         bits = X2b('C7')  /* 11000111 */
         ones = Translate(bits, ' ', '0')
         ones = Length(Space(ones, 0))
         parity = ones//2

and this tricky procedure to shuffle the numbers in a range:

         /* Shuffle the numbers in the range 1->max */

         SHUFFLE: Procedure
         Signal Off Novalue

         max = Arg(1)
         out = ''
         Do i=1 to max
            sub = Random(i,max)
            Say ar.sub
            out = out Substr(ar.sub,4)
            If sub = i  Then Iterate
            ar.sub = ar.i
         Return out

I have the foils from Mike's presentation for anyone who is interested.

I also have Mike's contributions to the Symposium diskette:

  PMGLOBE -- an Earth globe that keeps time and has a variety of other
             functions, such as calculating distances.
  GOSERVE -- an OS/2 gopher server.
  PMPRINTF -- a C printf function for use from Presentation Manager

* * * * * * * * * *

Tom Brawn (IBM) -- AIX REXX/6000 and REXX for NetWare

Tom Brawn, of IBM's REXX interpreter development group in Endicott,
presented two recently released REXX interpreters, IBM AIX REXX/6000
and IBM REXX for NetWare (product numbers 5764-057 and 5764-075,
respectively).  These are both ports of IBM's OS/2 REXX kernel but
with additional system-specific features.  For example, the RS/6000
REXX has SysCreatePipe, SysFork, SysWait, etc., and the Netware REXX
has RxDosCopy, RxDosPresent, RxQueryNLM, etc.  Both are available on an
"as-is" basis, but Brawn stressed that they have been widely used within
IBM, so should have few bugs.  He also mentioned third-party vendors who
have adopted these REXX implementations as the scripting languages for
their applications.  The RS/6000 interpreter costs $200, and the NetWare
interpreter costs $495.  I have additional information on both.

* * * * * * * * * *

Klaus Hansjakob (IBM) -- News from the Compiler

Klaus Hansjakob, of IBM's Vienna Lab, presented an update on IBM's
REXX compiler for CMS and MVS.  A recent PTF to the compiler added
support for an "alternate library", for use on systems that do not
license the REXX run-time library.  This alternate library can be
distributed freely without royalty.

Another new compiler feature is a Copyright directive that puts a
Copyright statement in cleartext at the beginning of an object file.

He gave a list of the important functions currently missing from the

o  TRACE support
o  REXX I/O for CMS
o  INCLUDE facility

He discussed the performance ramifications of different methods
of calling functions from REXX programs on MVS and CMS, e.g., the
advantages of EXECLOADing, NUCXLOADing, and using the compiler's
DLINK capability (which includes external functions in the same
module as their caller).  He pointed out that compiled REXX functions
can be included in a REXX external function package (external function
packages come first in the search order), and he gave out source for
two ASSEMBLE files used in building external function packages.

I have his handouts and the ASSEMBLE files for anyone who is interested.
He offered to distribute the source via email, as well.  His addresses
are hansjako@vabvm1.vnet.ibm.com and ATIBMCXP on IBMMAIL.

* * * * * * * * * *

Patrick Mueller (IBM) -- ROX: REXX Object eXtensions

Patrick Mueller, of IBM Cary, described ROX, his OS/2 REXX function
package that provides some object-oriented programming capabilities.
Mueller's package is not part of IBM's official Object REXX develop-
ment, but rather a tool he built on his own.  ROX is available via
FTP from ftp.cdrom.com in pub/os2/2_x/program/rexx and was also put
on the Symposium diskette.  Mueller's other contribution to the
Symposium diskette was RxD, a Presentation Manager source-level
debugger for REXX.  I have documentation for both ROX and RxD.

* * * * * * * * * *

Eric Giguere (Watcom) -- VX-REXX for OS/2

Eric Giguere is author of the REXX FAQ and one of the authors of
Watcom's VX-REXX package, which is an OS/2 REXX "visual builder".

(There are currently three REXX visual builders in wide use, VX-REXX,
Hockware's VisProREXX, and Gpf's Gpf/REXX.  The three are competing
rather hotly with one another, with the effect that they are all rapidly
becoming more powerful.  Demo diskettes for the latest version of
VisProREXX were handed out at the Symposium, and I have just gotten a
copy of Version 2 of VX-REXX.  Drop by for a demo of either.)

Eric demonstrated the current release of VX-REXX, which has a source-
level debugger and allows one to create PM macros and executables that
can run with a royalty-free run-time DLL.

He said that Watcom intends to keep on growing VX-REXX.  They are
currently beta-testing VX-REXX CSK, a client-server package that
provides database (DB2 and Watcom SQL) access and charting.

Eric mentioned that Watcom has been purchased by PowerSoft.

He said that a patch to VX-REXX V2 was being released that week and
would be available on their bulletin board.  (It is now available via
anonymous ftp from rexx.uwaterloo.ca as /pub/os2/vxrexx/vxrx20a.zip.)
He pointed out that there is a very active VX-REXX forum on IBMLink.

* * * * * * * * * *

Alan Matthews (Percussion Software) -- Using REXX and Notrix for
                                       Lotus Notes Data Manipulation

Alan Matthews began with an excellent overview of Lotus Notes and then
described his company's products, Notrix and Notrix Composer.  Notrix
provides REXX functions for manipulating Lotus Notes data without
using C and the difficult Lotus Notes API.  Notrix Composer is a tool
for moving data between Notes and external databases.  I have Matthews'
foils and flyers on both products.  (NOTRIX is $3500/server and Composer
is $5000/server; one copy serves all connected users.)

* * * * * * * * * *

Pam Taylor (The Workstation Group) -- X-based GUI XEDIT-like Editor

Pam Taylor, the product manager for Uni-REXX, described work that the
Workstation Group is doing on Uni-XEDIT, their XEDIT-like UNIX editor.
She said that now that many of their customers are becoming more used
to the UNIX environment, they are beginning to ask for new capabilities
in Uni-XEDIT, such as scroll bars, cut-and-paste, pull-down menus, and
mouse awareness.  She demonstrated a new version that had all these
features.  (The single-copy price for each of their products is $499,
with considerable discounts for quantity purchases.)

She said that their Uni-REXX sales are up over previous years but seem
still to be driven by sales of their editors, as users want the ability
to write editor macros.  However, they believe that Uni-REXX is starting
to sell more on its own merits now.

Pam also said that they are considering writing an object-oriented

* * * * * * * * * *

Ian Collier (Oxford) -- New Features in REXX/imc

Ian is a graduate student at Oxford and author of REXX/imc, which was
written for SunOS but has been tested on AIX.  It is available in
/pub/freerexx/imc at rexx.uwaterloo.ca.

Ian discussed a number of features that he had added since last year's

o  popen and pclose functions for establishing a pipe to a shell command.
o  two SUBCOMs, UNIX and COMMAND (the latter addresses a small built-in
o  rxque, a stack daemon that runs as a separate process and can be used
   for inter-process communication.

Incidentally, Ian will be graduating soon and will be needing a job.

* * * * * * * * * *

Jim Crosskey (IBM) -- IBM Views on REXX

Jim Crosskey is the manager of REXX interpreter development in Endicott.
There are 30+ programmers in his group.  He said that there has recently
been increased interest in REXX on the part of IBM executives and cited
a Statement of Direction released in April for Object REXX for MVS.  He
also said that they are considering a Macintosh implementation of Object

One of Crosskey's foils:

                           REXX Future Directions

o  Wide range of platforms
o  Apply new technology:
   -  Object Oriented programming (SOM, DSOM, etc.)
   -  Visual Programming tools
   -  OpenDoc
o  Develop REXX function packages to expand presence:
   -  Communications, MultiMedia, Database, . . .
o  Encourage REXX as the "application extender"
o  Improve documentation
   -  Primer/on-line tutorial
   -  Books, books and more books
o  Expand user base
   -  Students, non-"glass house" and OS/2 users

There was an extended Q&A period following Crosskey's presentation.
One attendee characterized IBM's marketing strategy for REXX as
"hopefully, over time".

It appears that IBM is addressing requirements for extensions to the
REXX language only via Object REXX, which is a complete rewrite of
the interpreter.  There is no plan for Object REXX for CMS.  (Crosskey
suggested in a conversation later in the day that it might be possible
to port the MVS Object REXX to CMS.  I had wondered during his talk why
that was not planned.  It seems clear that the VM customers who have
spent a decade or so waiting for REXX language extensions had better
start speaking up about the lack of a plan for CMS REXX.)

* * * * * * * * * *

Tom Brawn (IBM) -- Object REXX on Windows

IBM is now beta-testing its Object REXX implementation for OS/2 and
Windows.  Tom Brawn demonstrated the Windows version.  The current
plan is that Object REXX will be integrated into OS/2, replacing the
interpreter now shipped with OS/2.  It is likely that Object REXX for
OS/2 will be shipped before the end of the year; the Windows version
will probably ship after that.

Object REXX is said to be "100% compatible" with "Classic REXX".  It
includes a number of extensions to the REXX language that have nothing
to do with OO, including:

o  Expressions in stems
o  Parse enhancements (Parse Caseless, Parse Lower)
o  Countstr and Changestr functions
o  Extended Do (iterate over stem)
o  Date conversion

Object REXX is a Win32s applications and requires Windows 3.1.  It runs
on Windows and NT and will run on Chicago.  It requires 4MB of memory.
A simple Windows interface is shipped with the beta.

Object REXX for Windows has its own threading package, to provide the
concurrency the "operating system" cannot.

* * * * * * * * * *

Simon Nash (IBM) -- Object REXX Class Hierarchy

Simon Nash, the original developer of IBM's Object REXX, gave an
invigorating presentation on the logic of the Object REXX class
hierarchy that was continued by popular demand the following day.

OS/2 Object REXX supports the Workplace shell.  Asked about SOM,
Simon said that the current thinking is that if it is there it will
be fully supported by Object REXX, but Object REXX will not depend
on it.

* * * * * * * * * *

Luc Lafrance (Simware) -- How Simware Implement REXX on Multiple

Luc Lafrance emphasized Simware's commitment to REXX (5 of their 30
developers are currently working on REXX).  Their REXXware is now on
three platforms (Windows, Macintosh, and NetWare).  The price of the
NetWare version is $695.  (REXXware has been tested and approved by

* * * * * * * * * *

Timothy Sipples (IBM) -- Working (and Playing!) with REXX and OS/2

Tim Sipples is the author of the OS/2 FAQ.  He joined IBM quite recently.
He gave a very enthusiastic presentation on REXX and MMPM/2.  (Although
a friend groused that everything Tim was showing could have been done on
a Mac years ago, I was impressed enough to come home and install MMPM/2
and gather up a few film clips.)  Help for using REXX with multimedia
is found in the Multimedia folder.  Sipples mentioned that in the CDROM
distribution of OS/2, there are a large number of multimedia files that
are not found in the diskette distribution.  His contributions to the
Symposium diskette were a BMP file included by audience demand after it
appeared in his presentation and DIAL11, a REXX MMPM/2 telephone dialler
written by Helge Hafting.

* * * * * * * * * *

Edmond Pruul -- REXX Reuse and Portability

Edmond Pruul, a former CMS developer, led the group in a discussion of
REXX portability issues.

* * * * * * * * * *

Doug Benson (Lotus) -- Ami Pro and REXX

Doug Benson of Lotus demonstrated using REXX with Ami Pro.  He said
that despite the fact that Lotus continues to develop its own scripting
language, it has a strong commitment to REXX.  Lotus had moved all of
its OS/2 developers (hundreds of them) to Windows, but in the last
1.5-2 years many have been moved back to OS/2, and 50 more have been
hired to work on OS/2.  Lotus will be coming out with new OS/2 versions
of all of its major products, and those will all be REXX-enabled.

* * * * * * * * * *

Mark Hessling (Griffith University) -- Using REXX as a Database Tool

Mark Hessling, from Griffith University in Australia, is the author of
THE ("The Hessling Editor"), a KEDIT-lookalike for UNIX that can be
FTPed from Waterloo.  Hessling has recently written GUROO, the Griffith
University REXX Oracle Overseer, a REXX external function package that
provides a REXX-Oracle interface.  They use it with Anders Christensen's
Regina (a REXX for UNIX implementation).  GUROO will not be distributed,
but Hessling and a friend are considering doing another similar
implementation that would be.

* * * * * * * * * *

Lee Krystek (Boole and Babbage) -- Using REXX in a Unix Environment to
                                   Manage Network Operations

Lee Krystek of Boole and Babbage discussed B&B's COMMAND/Post product,
a UNIX application for managing complex network operations.  They chose
REXX (the Workstation Group's uni-REXX) for their implementation for a
number of reasons, including the powerful message parsing capability and
the ability to pass commands to underlying environments.  I have a copy
of Krystek's paper.

* * * * * * * * * *

Hal German (GTE) -- Choosing a Command Language: an Application-centric

Hal German discussed his methodology for selecting the most appropriate
language for an application.

* * * * * * * * * *

Anders Christensen (Sintef Runit) -- Techniques for Performance Tuning
                                     REXX Interpreters

Anders Christensen is the author of Regina, a free UNIX REXX.  Regina
is available via anonymous ftp from ftp.pvv.unit.no (in /pub/rexx).  A
new version (0.07a) will be made available shortly.

Anders has made very substantial reductions in Regina's CPU use since
the last Symposium.  One of the most important changes he made was to
store pointers into the variable structure in the parse tree.  I have
a copy of Anders' paper.

* * * * * * * * * *

David Shriver (IBM) -- REXX for CICS/ESA: "Get more CICS with REXX"

I was rather astonished at the extensiveness of the new REXX for CICS.
In the process of adding support for REXX, the CICS folks have also
added a hierarchical directory structure ("the REXX File System"),
an application development environment, and dynamic commands, as well
as a passel of other functions.  Although REXX is announced for only
the MVS CICS, they clearly intend to support REXX in the other CICS
environments.  I have the foils from this presentation and a glossy
about the product (which GAs later this year).

* * * * * * * * * *

Hobart Spitz (NYC MTA) -- Converting JCL to REXX

Hobart Spitz described his experiences in converting two large
MVS production shops from JCL to REXX, resulting in substantial
simplification and greater control.  I have his handout.

* * * * * * * * * *

Eric Giguere (Watcom) -- REXX-Enabling OS/2 Applications

Eric Giguere, stepping in at the last minute for a missing speaker,
provided an excellent introduction to REXX-enabling OS/2 applications
(both making an application call REXX macros and allowing those macros
to invoke subcommands in the application).  Though I have pages of
notes, I think it wiser to refer people to Eric's article on this topic,
which is to appear in a forthcoming issue of "OS/2 Developer" that will
be devoted entirely to REXX.

* * * * * * * * * *

Linda Littleton (Pennsylvania State University) -- REXX Resources on
                                                   the Internet

Linda Littleton presented a very useful compilation of the REXX
resources of the Internet and BITNET (LISTSERV lists, FTP sites, and
gopher sites).  I have copies of her handout.  Mike Cowlishaw also
referred us to the gopher at index.almaden.ibm.com, which is a source
for the REXX CPS ("clauses per second") standard used in measuring
REXX implementations.

* * * * * * * * * *

Other comments:

During the Symposium, Charles Daney (the author of Personal REXX) said
that he highly recommends Dick Goran's OS/2 REXX handbook.  (Goran,
Richard K., "REXX Reference Summary Handbook", Second Edition,
ISBN:0-9639854-1-8, $19.95.)  Goran's coordinates:

   CFS Nevada, Inc.
   953 E. Sahara Ave, Suite 9B
   Las Vegas, Nevada 89104-3012
   (702) 732-9616

Another book spoken well of during the Symposium was "Object Oriented
Design with Applications" by Grady Booch (Benjamin Cummings, 1991,

Gabe Goldberg, co-author of "The REXX Handbook", was unable to attend
the Symposium but sent a letter to the attendees asking for feedback on
TRH, in preparation for a possible second edition.  Gabe's coordinates:

   Computers and Publishing, Inc.
   13382 Brookfield Court
   Chantilly, VA  22021
   (703) 968-5738

Other events in conjunction with the Symposium included a meeting of
the REXX Language Association and a meeting of the REXX ANSI Committee.

A dinner was held to celebrate REXX's 15th birthday, slightly belatedly.
Perhaps the most amusing reminiscence of that evening was Simon Nash's
story of having lunch with Mike in the cafeteria and telling him that he
wasn't sure the world was ready for this new language Mike was thinking
of writing.  One of the stars of the evening was Ray Mansell, whom Mike
believes to be the first person to have written a REXX program.  Ray
spoke of having convinced a crusty manager to give Mike some free time
to work on REXX, despite that manager's belief that JCL was all one
really needed.

One post-Symposium comment:  The following is from a description of
HEDI, the Harvard Electronic Data Interchange, in a recent posting by
Michael Laing (mpl@tegsun.harvard.edu).  It seems to be an opportunity
for the Symposium Program Committee to find a speaker for next year and
for IBM to find a potential user for Object REXX across many platforms:

   Current implementations include: 1) REXX on IBM Mainframe (VM), PC
   (DOS), and Sun (SunOS 4.1.3); and 2) Prograph on Macintosh (MacOS
   7.x). The REXX implementations are rather complex because REXX is
   not (yet) object-oriented. Nonetheless they are very easy to extend
   and REXX's built-in parsing capability is handy. The Prograph
   implementation is powerfully object-oriented, but the language is not
   widely known; additionally, this implementation currently handles
   fewer object types than the VM or SunOS REXX versions. It is
   implemented as a background agent however and processes transactions
   quite quickly without the user noticing any slowdown. Prograph is
   moving cross-platform to Windows NT/3.1 and Unix.

Melinda Varian
Office of Computing and Information Technology
Princeton University

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Originally placed on IBM servers with the permission of the author.)