REXX was introduced into the VM/SP R3 operating system and announced in February 1983. VM already had two other interpreted scripting languages EXEC and EXEC2, but these had lots of limitations. REXX was also embedded into the XEDIT editor so that programs could be written to enhance the editor's already impressive functions that were provided by default. REXX could be used to automatically process files by editing them and specifying a REXX macro to perform the desired changes. Providing the macro contained a command to exit from XEDIT, the processing was essentially a batch process and nothing was displayed on the screen.

File input and output was accomplished using the CMS program EXECIO. EXECIO could be called to read or write into or from a REXX array or the CMS console stack. Records could be processed in FIFO or LIFO order.

Some of CMS's utilities were re-written to use REXX: FLIST was replaced by FILELIST and a new utility RDRLIST was provided to manage spool files in the user's virtual reader.

Users, developers and system administrators can use REXX extensively to develop their own utilities for both CMS and XEDIT. In fact, some very sophisticated REXX applications have been written, which provide a consistent interface to users while masking the underlying calls to the OS.

Although the REXX programming language is the same on each platform, the interfaces to OS I/O functions are necessarily different.

After REXX's success on VM, it was adopted as one of IBM's Systems Application Architecture (SAA) programming languages and was ported to other IBM platforms including TSO, VSE, OS/400 and OS/2.

The following publications are available for REXX on IBM mainframe systems: