News

cREXX since beta 2: applications, performance and documentation

A three-interface application example, packed data, shorter builds and expanded manuals as cREXX prepares for beta 3.

Adrian Sutherland

A small application is a useful way to test a language’s supporting tools. Can it open a file, handle cancellation and present the same result through different interfaces? Can someone follow the example without having to discover its missing instructions?

These are practical questions behind some of the cREXX work since June’s beta 2. cREXX is an open-source Rexx compiler and runtime: the tools that translate programs and execute them. Current development combines new application facilities with shorter build times and improvements to the manuals.

One application, three interfaces

Text Inspector counts the lines and words in a text file. Its application logic runs through three interfaces: a simple line terminal, a full-screen terminal and a desktop window. Opening a file, cancelling an action and confirming that results should be cleared are part of the example.

This is a proof of concept with limited controls and layout. It demonstrates how the application’s behaviour can be kept separate from the interface through which someone uses it. The worked example includes the source and instructions for each interface.

Packed data support adds another set of building blocks. Fixed-width binary fields let programs specify where values sit inside a record. Packed numeric containers hold consecutive integers or floating-point values for numerical work. They serve different purposes: a portable file format needs a defined layout, while the numeric containers use the host machine’s representation.

Shorter waits and more predictable behaviour

In a measured 48-part cREXX-RAG application build on Apple Silicon, build time fell from 509 seconds to 71 seconds—about seven times faster. Removing repeated compiler work and improving dependency handling shortened the wait between changing the program and trying it. The build report records the comparison.

Reliability and installation work matters for the same reason: it removes obstacles to using the software. Recent changes address shared-array import crashes and preserve long Windows command-search settings during installation.

Manuals and the next beta

René Jansen has expanded and reorganised the manuals, including the function reference and explanations of parsing, queues, and dates and times. Clear instructions help a reader turn an available capability into a working program. The development documentation brings the guides and references together.

These changes are being prepared between releases. Beta 3 is targeted for 30 September 2026 and Release 1 for 1 May 2027. The extended performance programme has lengthened the schedule. The next step is to bring the features, examples, documentation and release checks together for the next beta.