Heigh ho!

I’ve thrown this page together to provide a distribution site for a small Rexx function library. I might put some other stuff up here, too.

I’m just another failed musician making a living in the computer industry. Everybody has a friend of a friend....


Rexx is a simple but powerful programming language which is well suited to a variety of end user applications. The Regina Rexx interpreter is currently maintained by Mark Hessling.

See the software page for a table of package releases.

w32funcs is a function library for Regina which provides access to the Windows NT registry, event log, service control manager, and shell, and provides Automation support. The code is based on software written for Microsoft Corporation by Ataman Software. Version 1.5.1 of w32funcs, which is what you get if you click on the underlined word, requires version .08f or higher of Regina. The changes over 1.5.0 are limited support for arrays and a short-cut for traversing nested objects in OLE automation, and new functions to return the ‘long’ and fully qualified path names for a file. The file FIXES gives a more complete list of changes.

RegUtil is an implementation of IBM’s RexxUtil for Regina. It is currently not complete, although I’m working on it when I get time. I hope that it’s helpful. This is version 1.2.6. Compared to version 1.2.5, it fixes bugs when using the `ALL:' argument to SysIni, a bug in RegStemSearch, and a cosmetic problem with the win32 version of SysCls. FIXES gives a more complete list of changes.

Although the documentation says Unix and NT all over the place, the code is expected to work on Unix and Unix-like systems, as well as all the Win32 systems, including Windows 95 and Windows 98. Some Windows 95 versions lack msvcrt.dll. It is required to use any of my pre-built packages, but I consider it to be system software and will not distribute it. It is available from many other locations (search for msvrt.dll or mfc42.exe).

RexxXML provides an interface to libxml and libxslt. It provides routines for parsing and manipulating XML and HTML files, using both Rexx and XSLT. It’s big (850k), mostly because there’s a big manual. The package includes source code plus windows binaries for Regina and Rexx/Trans (which supports Object Rexx and other interpreters). This is the initial release, so there are no bugs so far.

Wegina is a windows front-end to the Regina Rexx Interpreter. Scripts run with wegina execute in essentially the same way as the same script run with regina, but without a controlling DOS box. This is useful for scripts which are meant to run in the back-ground, for instance as external programs run from non-rexx-aware applications, and for programs which use windowing toolkits such as rexx/tk.

FileUt is a package which allows reading from and writing to the standard input, output, and error streams of a running process using an interface similar to Rexx’s standard I/O functions. Note that as of version 3, Regina supports ANSI extensions to the address function which provide nearly equivalent functionality. This is version 1.0.1, which supports NT, Unix, and OS/2. Later versions may support other kinds of special files, such as zip files.

The Rexx Math Bumper Pack is a pair of math libraries which are supposed to be compatible with IBM’s rxmath library and a library that comes with arexx. It also includes John Brock’s rxxmath library. This is version 1.0.0, the first supported version of the library.

RexxRE Regular Expression Library provides POSIX regular expressions for Rexx. It uses the regular expression routines from your system, unless you’re on a not-even-remotely-POSIX system in which case it uses the routines from FreeBSD, which were originally written by Henry Spencer. This is version 1.0.1, which fixes a few pathalogical problems in ReParse() and includes all three pre-built binaries (Regina on Win32, OS/2, and other interpreters for Win32), plus documentation and source code. See FIXES for more details.

Associative arrays for Rexx is a seemingly needless set of routines for creating associative arrays. The advantage over Rexx stem variables is that you can pass these arrays to subroutines and make complete copies of them. This is version 1.0.0, which for all you know could be bug-free. It includes documentation, source code, and prebuilt binaries for Regina on win32, other interpreters on win32, and OS/2 Rexx.

A ForTran example shows how to call a ForTran function from rexx using a C function as an intermediary. It works with the GNU Compiler, and might work with f2c. This is unsupported.

If you try these and find a problem, or have a suggestion, please mail me at the address in the package.

TeX and friends

TeX is a document formatting language of which I’m rather fond. Associated programs such as metafont and metapost can be used to create fonts and drawings procedurally. dice and smiles are, respectively, fonts containing die and smiley faces. The dice font has been enhanced by someone else and placed on CTAN.

Here’s a baseball score card drawn with metapost (and the formatted result). This, a few other things of mine, and a substantial body of document formatting software and macro packages can be retrieved from CTAN.

clockquiz.mp randomly draws pages of clocks with different kinds of numbering on the dial. Some have hands and a space to write in the time, while the others have the time in numbers. The hands are positioned naturally, that is the hour hand is not always pointing straight at the number. This could be useful for primary teachers or parents, grandparents, &c., of small children who are learning to tell the time. Here’s a PDF file with 10 pages of clocks.

For an example of LaTeX input and PDF output generated from the pdfTeX processor, have a look at the regutil package above.


The Scream in High Park is Canada’s pre-eminent poetry reading. If you’re in Toronto on 11 July, 2005, bring a picnic to the stage in High Park, lie down under the stars and be swept away by the beauty of language and nature.

Tim Posgate is one of our finest and most versatile Jazz musicians.

Kenny Kirkwood is another.

The Rexx Language Association has additional Rexx-related links.