home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.rexx
- Path: sparky!uunet!cs.utexas.edu!torn!watserv2.uwaterloo.ca!csg.uwaterloo.ca!giguere
- From: giguere@csg.uwaterloo.ca (Eric Giguere)
- Subject: REXX Frequently Asked Questions
- Message-ID: <BzGr38.EM@watserv2.uwaterloo.ca>
- Sender: news@watserv2.uwaterloo.ca
- Organization: Computer Systems Group, University of Waterloo
- Date: Fri, 18 Dec 1992 16:28:20 GMT
- Lines: 436
-
-
- FAQ Version Number: 6
- Last posted: November 3, 1992
- Last updated: November 25, 1992
- Changes since last update: New address for Kilowatt Software
-
- This posting contains a list of answers to Frequently Asked Questions
- about the REXX programming language. The list is maintained by Eric Giguere
- (giguere@csg.uwaterloo.ca) and posted at regular intervals to
- comp.lang.rexx.
-
-
- Topics:
-
- [General Information]
-
- 1) What is REXX?
- 2) What is the reference book for REXX?
- 3) Information on ANSI and REXX
- 4) REXX conference information
- 5) FTP sites for REXX-related material
- 6) Free versions of REXX
- 7) Commercial versions of REXX
- 8) Newsgroups and mailing lists
- 9) Selected Bibliography
- 10) Is REXX better than Perl?
-
- [Programming Questions]
-
- A) Why does my OS/2 REXX program run more quickly the second time?
- B) Where do I get documentation on adding ARexx support to my
- programs? (Amiga-specific)
- C) Where can I get patches for my OS/2 REXX?
- D) Can I put up Presentation Manager windows and dialogs from
- the OS/2 REXX?
-
- ----------------------------------------------------------------------------
- 1) What is REXX?
-
- REXX is a programming language designed by Michael Cowlishaw of IBM
- UK Laboratories. In his own words: "REXX is a procedural language that
- allows programs and algorithms to be written in a clear and structured
- way."
-
- Syntactically, REXX doesn't look that different from any other
- procedural language. Here's a simple REXX program:
-
- /* Count some numbers */
-
- say "Counting..."
- do i = 1 to 10
- say "Number" i
- end
-
- What makes REXX different from most other languages is its capability
- for being used as a _macro language_ for arbitrary applications. The
- idea here is that application developers don't have to design their own
- macro languages and accompanying interpreters. Instead they use REXX as
- the basis for that language and support the REXX programming interface.
- When a REXX program runs and comes across an expression or function that
- isn't part of the base language definition, it can ask the application
- if it knows how to handle it. The application only has to support
- features that are specific to it, freeing the developer from handling
- the mundane task of writing a language interpreter. And if all applications
- use REXX as their macro language, the user only has to learn one language
- instead of a dozen.
-
-
- ----------------------------------------------------------------------------
- 2) What is the reference book for REXX?
-
- The "standard" reference for REXX is Mike Cowlishaw's _The REXX
- Language: A Practical Approach To Programming_, currently in its second
- edition. (The first edition had "REXX" in blue on the cover, the
- second edition has it in red instead.) Mike's book is often referred
- to as either "TRL" or "the red book". Until the ANSI committee releases
- its standard, TRL is the document that defines what REXX is. (See the
- bibliography below for details on TRL.)
-
- ----------------------------------------------------------------------------
- 3) Information on ANSI and REXX
-
- The American National Standards Institute (ANSI) sets national standards
- for various things in the United States, including programming languages.
- The X3J18 REXX Standards Committee has been established to defined a
- formal standard for the REXX language, using TRL as its base document.
- The Committee meets 3 or 4 times a year and holds ongoing discussions
- throughout the year. Members of X3J18 mostly include REXX implementors
- and some users, but anyone can participate. More information on X3J18
- can be had from Brian Marks (chair), marks@winvmd.vnet.ibm.com
- or Neil Milsted (vice-chair), nfnm@wrkgrp.com.
-
- ----------------------------------------------------------------------------
- 4) REXX conference information
-
- The Stanford Linear Accelerator Center (SLAC), a heavy user of REXX
- on several platforms, sponsors the REXX Symposium, an annual gathering
- for REXX users and implementors. The last Symposium was held in May
- of 1992. The next Symposium is planned for the spring of 1993, probably
- on the west coast of the US.
-
- For more information on the Symposium, and information on receiving
- proceedings of previous Symposiums, contact Cathie Dager at SLAC,
- cathie@slacvm.slac.stanford.edu.
-
- ----------------------------------------------------------------------------
- 5) FTP sites for REXX-related material
-
- The site rexx.uwaterloo.ca (maintained by giguere@csg.uwaterloo.ca)
- is a (currently small) repository for REXX-related material.
-
- REXX-related materials for specific systems can also be found
- on FTP sites serving those systems:
-
- wuarchive.wustl.edu (Amiga)
- ftp-os2.nmsu.edu (OS/2)
- software.watson.ibm.com (OS/2 -- official IBM support)
-
- ----------------------------------------------------------------------------
- 6) Free versions of REXX
-
- REXX interpreters come bundled with the operating system on the
- Amiga (Workbench 2.0 and higher) and under OS/2 2.0. REXX also comes
- on certain IBM mainframe systems running CMS or MVS.
-
- Currently there are three freely-distributable interpreters (with
- source) for Unix machines, all available for anonymous FTP from
- rexx.uwaterloo.ca:
-
- /pub/freerexx/regina/regina-0.03d.tar.Z 254939 ANSI C
- files originally from flipper.pvv.unit.no
-
- /pub/freerexx/alrexx/rx102.tar.Z 671904 C++ (using GNU G++)
- files originally from tony.cat.syr.edu
-
- /pub/freerexx/imc/rexx-imc-1.3.tar.Z 491691 ANSI C
- currently only runs on SunOS machines
-
- To compile, the first two interpreters require Lex and Yacc (or suitable
- clones). All are still beta versions, though imc has been around the longest
- and claims to be quite stable. (Note: "regina" was called "andersrexx"
- in previous FAQs because I couldn't remember the interpreter name.)
-
- ----------------------------------------------------------------------------
- 7) Commercial versions of REXX
-
- The following vendors sell REXX for various platforms:
-
-
- Wishful Thinking Development Corp. [Amiga]
- P.O. Box 308
- Maynard, MA 01754
- (508) 568-8695
-
-
- The Workstation Group [Various UNIX platforms, also VMS]
- 6300 River Road
- Rosemont, IL 60018
- (800) 228-0255 (US only)
- sales@wrkgrp.com
-
-
- Quercus Systems [DOS, Windows, OS/2]
- P.O. Box 2157
- Saratoga, CA 95070
- (408) 867-7399
-
-
- Kilowatt Software [DOS, Windows, Tandem]
- P.O. Box 209
- Reynoldsburg, Ohio 43068
- (800) 848-9474 (US only)
- (614) 866-4300
-
-
- Dineen Edwards Groups [REXX compiler for the Amiga]
- 19785 W. 12 Mile Rd., Suite 305
- Southfield, MI 48076-2553
- (313) 352-4288
-
-
- IBM [REXX compiler for MVS/TSO and VM/CMS]
- Contact your local rep
- Program numbers: 5695-013 (compiler)
- 5695-014 (library)
-
-
- Systems Center [REXX compiler for VM]
- 1800 Alexander Bell Dr.
- Reston, VA 22091
-
- There also exist vendors for various platforms (Amiga, OS/2, 370)
- that sell extensions and enhancements for REXX intepreters.
-
- ----------------------------------------------------------------------------
- 8) Newsgroups and mailing lists
-
- On Usenet the group comp.lang.rexx exists for discussion of REXX
- in all its variations. Currently the comp.lang.rexx newsgroup is also
- gatewayed with the REXXLIST mailing list (i.e., anything that gets posted
- to the newsgroup is sent to everyone on the mailing list and anything that
- is sent to the mailing list gets posted to the newsgroup).
-
- Those without Usenet access will be interested primarily in the
- various mailing lists available. The following information, kindly provided
- by Scott Ophof, describes how to subscribe to the various lists and what
- lists exist. Note that these mailing lists are BITNET-based and Internet
- sites might have use the proper Internet domain-based names (given at the
- end) instead of the BITNET node names.
-
- -- Subscribing to the list:
-
- To receive postings from a list discussing REXX, send e-mail to:
-
- LISTSERV@some-node-address
-
- with the following line as body:
-
- SUBSCRIBE list-name Your-full-name
-
- See list below for which "list-name" to use. "Your-full-name"
- is your NAME, *not* your e-mail address...
-
- Example: If I wanted to read more about what is going on with
- the REXX compiler for VM, I'd send e-mail to LISTSERV@UCF1VM
- and insert as the first and only line:
-
- SUBSCRIBE REXXCOMP F. Scott Ophof
-
- North Americans may want to send their subscription request to
- LISTSERV@uga.cc.uga.edu, Europeans might want to send their
- request to LISTSERV@DEARN, those in the Far East to
- LISTSERV@TWNMOE10, etc. The list server you send your request
- to will automatically forward that request to the server nearest
- you if possible.
-
- -- Receiving postings:
-
- Once you've subscribed to the list, any mail sent to the list
- will automatically be sent to you as well, at the address you
- used to subscribe to the list. The mail will come to you just
- like the rest of you email.
-
- -- Posting to the list:
-
- To post something to the list, use the email address listed
- below under "List Address". You can also simply just reply
- to a posting you've received in your mailbox as is usually
- done (as long as it uses the "Reply-To:" header line). Note
- that the list server will not normally send you a copy of
- anything you post.
-
- -- Mailing lists:
-
- List Name List Address Discusses
-
- AREXX-L AREXX-L@UCF1VM Amiga REXX
- PC-REXX PC-REXX@UCF1VM Personal REXX
- REXXCOMP REXXCOMP@UCF1VM REXX Compiler
- TSO-REXX TSO-REXX@UCF1VM TSO REXX
- UREXX-L UREXX-L@Liverpool.ac.uk Unix REXX
- VM-REXX REXXLIST@HEARN VM/SP REXX
- VM-REXX@MARIST "
- VM-REXX@OHSTVMA "
- VM-REXX@UCF1VM "
- REXX-L REXX-L@UIUCVMD generic REXX
- REXX-L@UALTAVM "
- REXXLIST REXXLIST@DEARN "
- REXXLIST@EB0UB011 "
- REXXLIST@FINHUTC "
- REXXLIST@OHSTVMA "
- REXXLIST@POLYGRAF "
- REXXLIST@TWNMOE10 "
- REXXLIST@UCF1VM "
- REXXLIST@UGA "
-
- Note:
- - The list-names "REXXLIST" and "REXX-L" refer to the same
- discussion group, i.e. non-implementation-specific REXX.
- - Subscription requests and cancelling of subscriptions
- *must* be sent to <LISTSERV@that-node>, *not* to
- <list-name@that-node>.
- - With one exception, BITnet addresses have been used here.`
- See the "Address Translation List" for the Internet form
- of these addresses.
- - Please save the item you will receive on acceptance of your
- subscription detailing what to send where; it also
- contains info on how to cancel your subscription...
-
-
- -- Address Translation List::
-
-
- BITnet node Internet address
- DEARN %DEARN.BITnet@nic.surfnet.nl
- EB0UB011 @sic.ub.es
- FINHUTC @finhutc.hut.fi
- HEARN @nic.surfnet.nl
- MARIST @VM.Marist.EDU
- OHSTVMA @OHSTVMA.ACS.OHIO-STATE.EDU
- POLYGRAF @graf.poly.edu
- TWNMOE10 %TWNMOE10.BITnet@nic.surfnet.nl
- UALTAVM @vm.ucs.ualberta.ca
- UCF1VM @UCF1VM.CC.UCF.EDU
- UGA @uga.cc.uga.edu
- UIUCVMD %UIUCVMD.BITnet@uga.cc.uga.edu
-
-
- ----------------------------------------------------------------------------
- 9) Selected bibliography
-
- This is from Mike Cowlishaw. Note that a VERY complete bibliography
- can be found in _The REXX Handbook_. (Any updates to the bibliography
- should be sent to Linda Suskind Green, greenls@gdlvm7.vnet.ibm.com,
- who will pass them on to the appropriate persons.)
-
- Modern Programming Using REXX -- Robert P. O'Hara and David R. Gomberg
- In English: ISBN 0-13-597311-2 Prentice-Hall, 1985
- ISBN 0-13-579329-5 (Second edition), 1988
-
- The REXX Language -- M. F. Cowlishaw
- In English: ISBN 0-13-780735-X Prentice-Hall, 1985
- ISBN 0-13-780651-5 (Second edition), 1990
- In German: ISBN 3-446-15195-8 Carl Hanser Verlag, 1988
- ISBN 0-13-780784-8 P-H International, 1988
- In Japanese: ISBN 4-7649-0136-6 Kindai-kagaku-sha, 1988
-
- REXX In the TSO Environment -- Gabriel F. Gargiulo
- ISBN 0-89435-354-3, QED Information Systems Inc.,
- Order #CC3543; 320 pages, 1990
-
- Practical Usage of REXX -- Anthony S. Rudd
- ISBN 0-13-682790-X, Ellis Horwood (Simon & Schuster), 1990
-
- Using ARexx on the Amiga -- Chris Zamara and Nick Sullivan
- ISBN 1-55755-114-6, 424pp+diskette, Abacus, 1991
-
- The REXX Handbook -- Edited by Gabe Goldberg and Phil Smith III
- ISBN 0-07-023682-8, 672pp, McGraw Hill, 1991
-
- Amiga Programmer's Guide to ARexx -- Eric Giguere
- Commodore-Amiga, Inc., 1991
-
- Programming in REXX -- Charles Daney
- ISBN 0-07-015305-1, 300pp, McGraw Hill, 1992
-
-
- Note that IBM also publishes a whole slew of REXX-related documents,
- sometimes referring to REXX as the "SAA Procedures Language". One of
- these documents is the SAA CPI Procedures Language Level 2 Reference,
- SC24-5549.
-
- ----------------------------------------------------------------------------
- 10) Is REXX better than Perl?
-
- Maybe. Depends. Yes. No. Does it matter?
-
- In case you don't know, Perl is a powerful scripting language with its
- roots in the Unix world. If you're really interested in Perl, you should
- check out the comp.lang.perl newsgroup.
-
- ----------------------------------------------------------------------------
- A) Why does my OS/2 REXX program run more quickly the second time?
-
- When you run a REXX CMD file for the first time after you've modified
- it, the REXX interpreter will actually store a tokenized version of the
- program on disk alongside the source version using the OS/2 extended file
- attributes. You can see how big the tokenized version is by using the
- /N option on the DIR command:
-
- dir say.cmd
- SAY CMD 22 6-11-92 8:34a
-
-
- dir /n say.cmd
- 6-11-92 8:34a 22 317 SAY.CMD
-
- If a tokenized version exists AND you haven't modified the file, REXX will
- load the tokenized version instead of rereading the source.
-
- ----------------------------------------------------------------------------
- B) Where do I get documentation on adding ARexx support to my programs?
- (Amiga-specific)
-
- If you want to make an ARexx command host, function host, or function
- library, or you want to learn what those terms mean, you need to get this
- book:
-
- Programmer's Guide to ARexx, P/N AREXX01
-
- It includes a disk with full source code (in C, compatible with SAS/C and
- Manx Aztec C) to the examples. It's an official Commodore publication
- and is aimed at developers but non-developers can order it. In the United
- States, cost is $20 plus $3 S&H (add sales tax in Penn., Virginia, Calif.,
- Tenn. and Ill.). Send your order to Commodore-Amiga Technical Support (CATS),
- Department C, Commodore Business Machines, 1200 Wilson Drive, West Chester,
- PA 19380. In Canada, price is $20 plus $10 S&H plus 7% GST plus your PST.
- Send your order to Amiga Developer Support, Commodore Business Machines,
- 3470 Pharmacy Ave., Agincourt, Ontario M1W 3G3. All orders to either
- location must be prepaid with a cheque or money order. European customers
- may contact Hirsch & Wolf oHG, Mittelstr. 33, 5450 Neuwied 1, Germany
- (tel ++49-2631-24485) for prices and availability. All others can order from
- CATS in the U.S. at the address above, but include $15 for S&H intead of $3..
-
- Please note: The book is NOT a tutorial on ARexx! It is meant for
- programmers wishing to add ARexx support to their products.
-
- ----------------------------------------------------------------------------
- C) Where do I get patches for my OS/2 REXX?
-
- If patches are necessary, IBM will make them available via anonymous
- FTP on software.watson.ibm.com. The patches will also be made available
- on rexx.uwaterloo.ca (under /pub/os2rexx/ibm). There is currently a patch
- call REXX20.ZIP available which fixes some small problems.
-
- ----------------------------------------------------------------------------
- D) Can I put up Presentation Manager windows and dialogs from OS/2 REXX?
-
- IBM has made available a simple "Visual REXX" system for OS/2 REXX.
- It's a function library that allows you to put up simple windows and
- some simple dialogs from any REXX program running in an OS/2 session.
- It is currently available for FTP from software.ibm.watson.com as the
- file /pub/os2/vrexx2.zip, and can also be found ftp-os2.nmsu.edu.
-
- Note that the term "Visual REXX" is used pretty loosely here. As
- a package it is pretty skimpy when compared to Microsoft's Visual BASIC
- under Windows. It's really more like the various UI libraries that
- are available for use with ARexx on the Amiga.
-
- ----------------------------------------------------------------------------
- Questions/comments/suggestions about this FAQ should be sent to Eric Giguere,
- giguere@csg.uwaterloo.ca.
-
- --
- Eric Giguere giguere@csg.UWaterloo.CA
- So is Windows NT short for "Windows, NOT?"
-