REXX

An interpreted, procedural structured language that is included with every version of OS/2 1.3 and higher, every version of IBM PC-DOS 7.0 and higher and most modern Amiga OS variants and clones in addition to all current and recent IBM mainframe and minicomputer operating systems.
Although REXX is a generic programming language and can be (and has been) used to construct everything from simple utilities to large business applications, it is primarily used as a scripting or macro language, and as such is unusually easy to learn. The REXX language was created by Mike Cowlishaw of IBM Hursley in 1979 and the first implementation was shipped inside IBM in 1980 and as an external product in 1982.
Object REXX is a later version of the language that has been given object-oriented extensions modelled on those present in Smalltalk (IBM's language of choice at the time), while it is mostly compatible with Classic REXX there are some minor differences that mean that most larger REXX programs have to have at the lease some modifications to run correctly under OREXX, and this has meant that in the OS/2 world it never gained any real traction. Amiga REXX is a clone of IBM's Classic REXX that has extensions to help its use as a mechanism for application to application and/or inter-application communication, Regina REXX supports those extensions.
OS/2 REXX implementations and tools
- Object REXX - Open source - OS/2 version discontinued, but older version shipped with OS/2 V4 and all eComStation versions.
- Personal REXX - Commercial - Discontinued
- Regina REXX - Compatible with Classic REXX - Open Source - Current
- REXX/2 aka Classic REXX - Development discontinued, but shipped with all OS/2 32 bit versions and eComStation.
Libraries, extensions and bindings
- Bullet/REXX - Allows you to work with xBase files or databases - Commercial - Discontinued.
- dbfREXX - Allows you to work with xBase files or databases - Commercial - Discontinued.
- REXXBOS - A complete OS/2 system interface for REXX - Commercial - Current
- REXX/CURL - Bindings to the libcURL library - Open source - Current.
- REXX/CURL - Encode, compress and encryption ext. - Open source - Current.
- REXX/GD - Bitmap manipulation extension - Open source - Sort of current.
- REXX/ISAM - ISAM database files extension - Open source - Discontinued.
- REXX/SQL - SQL database access - Open source - Current.
- REXXSEM - Semaphore support for REXX - Used to be shareware, now freeware.
- RXULS - REXX Unicode API - Open source - Current.
- SpUtils - PM and API functions - Open source - Discontinued.
GUI/Widget bindings
- Rexx/Curses - Bindings to the PD Curses text mode UI library - Open source - Current
- REXX/DW - Bindings to the Dynamic Windows GUI/Widget toolkit - Open source - Current
- REXX/Tk - Bindings to the Tcl/Tk GUI/Widget toolkit - Open source - Discontinued
Graphical front ends and REXX development systems
- Dr. Dialog - Freeware - Discontinued
- GpfREXX - Commercial - Development discontinued but still available for sale at a discounted price.
- MAID - Commercial - Current
- VREXX - Freeware - Discontinued
- VX-REXX - Commercial - Discontinued
OS/2 text & programmers editors with REXX support
- Boxer - Classic REXX (Regina & IBM) and BREXX support included by default.
- Enhanced Editor - Has syntax highlighting, auto-formatting and automatic code summary for REXX.
- FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current.
- Future Wave Editor - macro & syntax support included by default - Shareware - Current.
- jEdit - Java editor
- KEDIT - XEDIT clone - Commercial - Discontinued.
- Preditor/2 - REXX template with syntax highlighting - Commercial - Discontinued.
- SourceLink - Commercial - Discontinued - Browser/Editor/Visualiser.
Source code browsers, visualisers, analysers and other utilities
- Exuberant ctags - Creates index files out of REXX source files - Open source - Current.
- REXX/Trans - Helps you use REXX as a macro lang. in your app - Open source - Current.
- REXX/Wrapper - Wraps REXX code into a semi-exe - Open source - Current.
- SourceLink - Commercial - Discontinued - Browser/Editor/Visualiser.
OS/2 applications that can be scripted with REXX
OS/2 based application that have explicit REXX support, other software that has some sort of scripting support can sometimes be "hijacked" to use REXX as well.
- Enhanced Editor - Text editor.
- Embellish - Bitmap graphics editing (formerly JoeView)
- Future Wave Editor - Text editor.
- Gnuplot - Plotting package.
- HyperAccess - Communications program
- Impos/2 - Bitmap graphics editing
- KEDIT - Text editor.
- Kermit 95 - Text editor.
- Lpex - Editor, part of VisualAge C++
- Lotus 1-2-3
- Mesa 2 - Spreadsheet.
- Photo Graphics Pro - Line/pixel graphics
- PM-Mail - E-Mail program.
- SourceLink - Source code browser/editor/visualiser.
- THE - Editor
- ZOC - Communications program.
A list of DOS implementations of REXX
- BREXX - Open Source - Current
- PC DOS REXX - Commercial - included in IBM PC DOS versions 7 and higher.
- Compact Rexx (CRX) - Open source - Discontinued.
- Personal REXX - Commercial - Discontinued
- Portable Rexx - Commercial - Discontinued
- Regina REXX - Compatible with Classic REXX - Open Source - Current
- REXXPC88 - 1987/88 IBM internal
DOS text & programmers editors with REXX support
- Boxer - Regina, IBM and BREXX support included by default
- FTE - Has support for syntax highlighting, code folding and syntax-aware autoindent. - Open source - Current.
A list of REXX implementations that run under WinOS/2
- Object REXX - Open source - Win32s version discontinued - IBM versions supported running under Win3x with Win32s.
- Personal REXX - Commercial - Discontinued
- WinREXX - Commercial - Discontinued
- WREXX - Commercial - Discontinued.
A list of REXX implementations that run under Java
Publications
- Classic REXX Books
- Michael F. Cowlishaw: A Practical Approach to Programming the Rexx Language - Prentice-Hall 1985 - ISBN 0-13-780735-X
- Michael F. Cowlishaw: The REXX Language: A Practical Approach to Programming; Second Edition - Prentice-Hall 1990, ISBN 0-13-780651-5
- Howard Fosdick: Rexx Programmer's Reference - Wrox 2005, ISBN 0-7645-7996-7
- William F. Schindler: Down to Earth REXX - Poisoned Pen 2000, ISBN 0-9677590-0-5
- Gabriel F. Gargiulo: Mastering OS/2 Rexx - Wiley 1994, ISBN 0-471-51901-4
- Gabriel F. Gargiulo: Rexx With OS/2, TSO & CMS Features - Quick Reference Guide (Mainframe Technical Series) – Mvs Training 1999, ISBN 1-892559-03-X
- William F. Schindler; Esther Schindler: Teach Yourself REXX in 21 Days - Sams 1994, ISBN 0-672-30529-1 ("Down to Earth REXX" above in an updated version)
- Merrill Callaway: The Rexx Cookbook: A Tutorial Guide to the Rexx Language in OS/2 Warp on the IBM Personal Computer - Whitestone 1995, ISBN 0-9632773-4-0
- Robert O'Hara; David Ross Gomberg: Modern Programming Using REXX - Prentice Hall 1988, ISBN 0-13-597329-5
- Anthony S. Rudd: Application Development Using OS/2 Rexx - Wiley 1994, ISBN 0-471-60691-X
- Anthony S. Rudd: Practical Usage of REXX (Ellis Horwood Series in Computers and Their Applications) - Prentice Hall 1991, ISBN 0-13-682790-X
- Ronny Richardson: Writing OS/2 REXX Programs - McGraw-Hill 1994, ISBN 0-07-052372-X (Came with examples on a floppy)
- Richard K. Goran: Rexx Reference Summary Handbook - Second Edition - CFS Nevada 1994, ISBN 0-9639854-1-8
- William Mansfield: Rexx Language: Special Edition - Prentice Hall 1990, ISBN 0-13-779067-8
- Hallett German: OS/2 2.1 REXX Handbook: Basics, Applications and Tips - VNR 1993, ISBN 0-442-01734-0
- Peter C. Kiesel; J.Ranade: REXX: Advanced Techniques for Programmers - McGraw-Hill 1992, ISBN 0-07-034600-3
- Gabriel Goldberg and Philip H. Smith III: The REXX Handbook - McGraw-Hill 1991 - ISBN 0-07-023682-8
Classic REXX in German
- Wolek: Das Rexx-Buch für OS/2 - Markt & Technik 1996, ISBN 3-87791-785-2
- Karlheinz Wittemann; Stefan Gerten: REXX unter OS/2 – Hanser 1996, ISBN 3-446-18508-9
- Michael F. Cowlishaw: Die Programmiersprache REXX - Hanser 1988, ISBN 3-446-15195-8 - German translation of the first edition of the book "The REXX Language"
- Gerhard Leibrock: Das REXX-Lexikon: Begriffe, Anweisungen, Funktionen - Oldenbourg 1996, ISBN 3-486-23672-5
Classic REXX in Japanese
- Michael F. Cowlishaw: Rekkusu gengo nyumon: puroguraminguhe no jissenteki apurochi (Translated by Yoichi Muraoka and Koji Shibano) - 1987 - ISBN 4-7649-0136-6 - Japanese translation of the first edition of the the "Rexx language" book
- Object REXX books
- Tom Ender: Object-oriented Programming with REXX - 1997, ISBN 0471118443 - Out of print
- Ueli Wahli, Trevor Turton, Eddie Griborn & Norio Furukawa: Object Rexx for OS/2 Warp - Prentice Hall 1996, ISBN 0-13-273467-2
- Object REXX for Windows NT and Windows 95 With OODialog: Windows Dialog Interface - IBM RedBook - (30 December 1996)
- The following books apply to SAA or mainframe REXX but may be useful nonetheless
- Charles Daney: Programming in REXX - McGraw-Hill 1990, ISBN 0-07-015305-1
Local articles
- Douglas Clark: Rexx: The King is Alive and Well
- Dan Bridges: The Joy of REXX - Tutorial and Book review
- Roger Orr: OS/2 Procedures Language - REXX - Introductory material
- REXX Tips & Tricks:Sources
- Dave Briccetti: Sending Mail with REXX
- OS2 API:REXX
- Darin McBride: REXXSEM:The Reference
- REXX Tips & Tricks
- Richard K. Goran: Introduction to object manipulation in REXX
Code snippets
Tutorials and other learning material
- Our own introduction and turorial written by Roger Orr: OS/2 Procedures Language - REXX
- And a more thorough tutorial called "REXX for Newies" that was written by Chris Wenham:
- REXX for Newies:Part I (October 1, 1998)
- REXX for Newies:Part II (October 16, 1998)
- REXX for Newies:Part III (November 1, 1998)
- REXX for Newies:Part IV (November 16, 1998)
- REXX for Newies:Part V (December 16, 1998)
- Ian Collier's REXX tutorial
- An Introduction To The REXX Programming Language - From OS/2.cz
- Using REXX to repair and control the desktop - From Les Bell and Associates Pty Ltd
Links
- The Rexx Language Association
- Ian Collier's REXX page
- IBM REXX page
- Mark Hessling's Home Page - Lots of Rexx and Regina information and files from the gent behind Regina REXX, including a Rexx manual
- Cosmos Grammaticus - REXX related blog
USENET
- comp.lang.REXX - Surprisingly popular - Go to the Google groups version if you are newsgroup challenged.
Built with REXX
- SRE-HTTP - A web server written primarily in REXX
Standards
- ANSI standard for Rexx (X3.274), Published in 1996.
- Extended REXX proposal - Published in 1998
REXX history
The REXX language was created by Mike Cowlishaw of IBM Hursley in 1979, initially as a written specification and the first implementation was shipped inside IBM in 1980 and as an external product in 1982.