Multics > People > Stories
22 Apr 1998

MacLisp at ENWGS

Robert Matern

Jim Falksen and I produced many new modes and functions for Multics Emacs (using MacLisp and a few defpl1 callouts to PL/1 code) which greatly eased software development for ENWGS. Many of these tools have been ported to GNU Emacs and continue to be used on the ENWGS project...

I did a lot of MacLisp programming on Multics... especially within Multics Emacs, but I also created a CM tool using MacLisp which ran outside Emacs... it was called AXE. It scanned source code being checked-in to our librarian (which I wrote in PL/1 and exec_com as a multi-process compile-before-accept absentee librarian). The results of its scan were returned as an active-function allowing use from PL/1 or exec_com. It was also used to build the VDD (Version Description Document) since one of its outputs was the version info from each source file. A very useful tool... which used modified versions of the text and PL/1 parsing primitives from Multics Emacs to do its work.

The major MacLisp tool created within Emacs was called CHAINSAW... it was a tool designed to implement large-scale changes to a source code library which was NOT created using CASE tools. It hijacked the Multics Emacs PL/1 mode's language parsing primitives to make this possible. It was run 4 times, producing over 50,000 lines of PL/1 code without a single bug; this was certified by the IV&V contractor (Pacer Systems, later OMNI Analysis) as a Zero-Defect Delivery to SPAWAR. I'm not aware of any other zero-defect deliveries accepted by DoD... there may be others, but they are extremely rare. The CHAINSAW-produced code was used in the ENWGS systems for more than 7 years without a single trouble report, which demonstrates that it truly was zero-defect and not the result of IV&V testing having missed the bugs.

I have to say that the authors of Multics Emacs generally and the PL/1 mode specifically should be commended for a truly superior set of language parsing primitives - I haven't had anything that good since. I hadn't seen any discussion of Multics Emacs as a tool, so I thought I'd throw in something...

There was one additional use of Multics Emacs for a MacLisp tool for automating changes: The MORM (Multipage Form) conversion effort at the Moorestown, New Jersey ENWGS SDF system. That tool was written by Tammy Gibson; it modified the several thousand lines of code which controlled the display of multi-level forms on the old ICCU workstations so that those forms could be displayed on the ICG workstations. She left ENWGS for the AEGIS project around 1988. I've met very few lady LISPers in my career... haven't figured out why that is exactly.

Maclisp source at MIT.

Last modified: 9/17/98