Thursday, July 23, 2026

RAND, SAGE, and Lisp

Robert Simmons began the Cognitive Science program at UT in 1968 after moving from the RAND spinoff System Development Corporation in Santa Monica, another direct connection from UT back to RAND, SAGE, and the Q-32, following on from earlier discussions of timesharing and interactive computing and networking and the ARPANET

While serving as the Head of the Language Processing Research Program at SDC, Simmons directed the Synthex and Protosynthex projects, which aimed to synthesize human language behavior, read texts, and generate English answers to natural language questions. This research relied heavily on Lisp, and SDC became a major hub for Lisp development, because navigating complex semantic networks required dynamic memory allocation and advanced list-processing capabilities. The physical hardware hosting this research, the AN/FSQ-32, was an artifact of the Cold War. Originally engineered as a prototype for the military's SAGE air defense system, its deployment was canceled, allowing ARPA to repurpose the machine at SDC as an open-ended laboratory for timesharing, networking, and symbolic processing. This unique environment produced groundbreaking Lisp tools. The Q-32 Lisp 1.5 port was pioneering because it discarded the traditional interpreter-first execution model. It compiled all user code directly into machine instructions prior to execution to maximize speed. SDC and its collaborators even attempted to build Lisp 2, an ambitious language designed to combine Lisp's list-processing capabilities with the structured, algebraic syntax of Algol. Ironically, the Q-32's hardware limitations, specifically its absolute ceiling of 48,000 words of core memory, proved fatal for the highly complex Lisp 2 system, which routinely exceeded the machine's capacity and led to the project's cancellation in 1967.

To understand exactly why Lisp 2 exhausted the Q-32's memory space, it helps to look at everything the development team was trying to pack into it. Beyond adding the Algol syntax, the system featured a complex meta-compiler, dynamic arrays, multiple data types, and a highly advanced, retargetable compiler designed to eventually port the language to machines like the IBM System 360 and DEC PDP-6. To force this massive environment into the Q-32's cramped core memory, developers had to engineer an intricate, application-level memory swapper. The system's execution pipeline became heavily bogged down in memory management tasks. If a required function wasn't in active core memory, the system had to page the compiled binary from an external storage file. When memory was fully occupied, the manager would initiate an immediate compaction cycle, shuffling the in-memory binary code to assemble contiguous free space. If compaction failed to yield enough room, the system would selectively excise non-essential routines or trigger a full garbage collection pass to reclaim list storage before it could finally load the new function.

This constant disk paging and memory shuffling introduced severe latency. The overhead choked the system's performance and severely degraded developer productivity, making it nearly impossible to rapidly iterate on the language's syntax translator and optimization routines. These technical roadblocks were compounded by rising costs and collaborative friction among the project's institutional partners SDC, MIT, and Stanford. When the project was ultimately canceled in 1967, the AI community abandoned Lisp 2 and migrated back to Lisp 1.5, finding a more suitable home on the PDP-6 and its descendant PDP-10 architectures. Interestingly, LISP creator John McCarthy later lamented the cancellation, noting that "much more money has since been spent to develop LISPs with fewer features". However, at the time, the developers could not have foreseen that the PDP-10 architecture, which had a much larger address space, would soon emerge to solve the very hardware limitations that doomed Lisp 2.

When Simmons moved to UT Austin in 1968 he was able to escape these specific hardware constraints and expand his work. To support his growing research group, UT bypassed the need for remote teletype connections back to SDC by implementing its own native version of Lisp 1.5 on the CDC 6600. This localized computing power democratized access to Lisp, enabling Simmons and a new generation of graduate students to run the large-scale symbolic experiments necessary to pursue his ultimate dream of enabling a "conversation with a book", where a computer system could read expository text, map the underlying knowledge into semantic networks, and generate natural language answers to users' questions.

The decision to build a native Lisp system at UT was driven by the sheer unreliability of remote computing in the late sixties. Relying on remote teletype connections back to SDC in Santa Monica meant dealing with manual dialing, fragile acoustic couplers, and unstable long-distance phone lines. Because Lisp's parenthetical syntax is highly sensitive, a single corrupted character from line noise would cause the parser to reject the input or trigger a runtime crash. To overcome this, the university utilized its CDC 6600 and 131,072 words of magnetic core storage to build a native Lisp implementation written directly in CDC COMPASS assembly language. This system, known as UT-LISP, introduced a radical and highly unique architectural innovation referred to as the three-pointer cons cell.

Because the CDC 6600 used a 60-bit word and an 18-bit address space, a traditional Lisp cell containing only a CAR and a CDR pointer, with 18 bits each, would leave 24 bits empty and wasted. UT-LISP's designers partitioned the 60-bit word into three distinct 18-bit fields. The usual CAR and CDR fields, and a special field CSR. To navigate these unique three-pointer cells, the system supported compositional accessors of extraordinary depth. Programmers could chain up to eight operations together, which the system's handler would dynamically parse and execute at runtime. To manage the memory constraints of the university's multi-user timesharing environment, Mabry Tyson also developed a specialized virtual memory system for UT-LISP that paged individual Lisp functions in and out of core memory dynamically.

This unique three-pointer architecture proved perfectly suited for Simmons' research into cognitive science and computational linguistics. His group focused on representing meaning through semantic networks, which map concepts as nodes and relationships, using labeled directed arcs. Conceptual triples with a subject, relationship, and object mapped naturally onto UT-LISP's three-part CAR, CDR, CSR pointer structures. Using this highly customized local environment, Simmons and his research group were able to bypass the physical memory bottlenecks that had previously killed ambitious projects like Lisp 2. Leveraging UT-LISP, they successfully migrated Protosynthex from the Q-32 to the CDC 6600 to parse English strings, and completely rewrote the Linguistic Research Center’s Fortran based METAL machine translation system into Lisp for real-time translation.

The UT CDC 6600.

Home of the CDC 6600. Beneath the terrace! The three windows at center-right face out of the old Comp Center. They are offices, then there is The Hall running north-south, then beyond it The Glass Wall enclosing the machine room.

[1] https://www.cs.utexas.edu/~novak/simmons.html 

No comments:

Post a Comment

Tape Bridge Into The DEC-10

The skeleton of the Decwar Playing Robots  is turning out to have other major uses. We now have an automated Tape Bridge between a local sys...