Richard Keys Photography
Home
People
The Plantation at Stone Mountain Park
Jewelry from America's Value Channel
Railroad
More Images
Keys Software
KeyBat
ImageBulb
The Text Executive
About
Contact
Richard Keys Photography

The Text Executive (TEX)

In late 1974 I was having lunch with Eric Clamons, who was already well known for his involvement in the creation of ASCII. Eric had been reading papers on UNIX, and he discussed “awk” and “grep”. He suggested that we should create some equally powerful editing features for our own system, the GCOS TSS system. He thought it should be possible to make the text editor programmable.

Edd Parker, the Honeywell Text Editor guru, was nice enough to give me a copy of the source code for a future release of his Text Editor. I began writing new code to make it programmable. When I showed it to Eric, he was surprised, and exclaimed that it was not at all similar to the UNIX tools he had been studying. Nevertheless, Eric and I continued to develop it. We had lunch together every day and came up with new ideas. I wrote code every afternoon and evening, and debugged every morning. It was Eric who came up with the name, "The Text Executive".

Soon, Eric showed TEX to his long-time friend, Bob Bemer. Bob immediately saw its potential, and began to write program after program, and to show his programs to everyone possible. I put TEX on the Honeywell pre-Beta mainframe, System-X, and TEX was immediately popular among System-X users.

Subs mode was a controversial feature. It allowed the TEX programmer to calculate lines of code on the fly, and then execute them, a clear violation of good programming practices. But TEX never intended to enforce programming practices, and subs could be very, very powerful.

Bob loved to create extremely short, very powerful, but cryptic lines of code, using subs. "Look what I can do with a few lines of code!" I would glance at it and have no idea what the program did without studying it for some time.

Late one afternoon Bob came to me urgently complaining that there must be a serious bug in TEX. He had written a new program, and it simply did not work. He was in a panic because he had scheduled a very important morning demonstration with a Honeywell vice president, and, in typical Bemer fashion, waited until the last moment to write the demo. The problem: Bob had assumed the existence of a feature I had not yet even thought of. I stayed up very late that night, and, in the morning, Bob’s demo went well.

TEX, like all GCOS TSS subsystems, was written in assembly language (GMAP). In order to conserve memory, which was very precious at the time, TEX was divided into a base module, and others that could "float", or be executed anywhere in memory without the need for relocation. If a module was unused for some period, it was dropped, and its memory returned to the TSS Executive. When needed again, a fresh copy was loaded. TEX was the only GCOS TSS subsystem with such capabilities.

Bob promoted the daylights out of TEX. At first, the marketing planning people balked at the idea of releasing a product that they had not planned (and Bob was not a popular person with everyone), and so Bob leapfrogged them, leaking copies to many existing customers. The customers loved it, and eventually persuaded marketing to make the Text Executive a supported product. Our success is now history.

Most TSS users were comfortable with the TSS Text Editor. TEX incorporated the Text Editor and supported all of its features. TEX allowed the user to treat text files as data. As a result, TSS users could write programs in TEX almost immediately without having to learn about such things as "get" and "put", much less any sort of database schema and subschema. Variables were not declared, were typed only by their content, and were all global. Again, no learning curve. TEX was widely used among our own hardware and logic design people, who had little interest in learning more sophisticated programming languages.

You either loved or hated TEX. The TEX haters were purists, who admired the elegance of regular expressions, and the well-planned syntaxes of MULTICS and UNIX editors. I never tried to make TEX something it shouldn't be. TEX lived in the world of GCOS TSS, which was practical, easy to learn, but not elegant.

In 1977 Eric Clamons and I received Honeywell’s highest scientist/engineering award, the H. W. Sweatt Award for the creation of the Text Executive.

By the way, many people mispronounced Eric's name. Eric Clamons pronounced his last name "Clemens".

Many thanks to Eric and Bob:

Eric Clamons: 12/13/1919 – 7/3/1998
Bob Bemer: 2/8/1920 – 6/22/2004

Links:
Wikipedia: Text Executive Programming Language
Wikipedia: Bob Bemer
Bob Bemer's Website
Text Executive User's Guide
More about Eric Clamons