About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Abstract
In 1974, a group at IBM Research began work on a new implementation of Lisp. Because the work was initially done for internal use only, many design decisions led the developers away from the more traditional Lisp paths. The most important design decision was to create a language which would have consistent semantics between compilation and interpretation. This paper takes a retrospective look at the decisions we made to see how they have stood up against the test of time and usage, especially when seen against the decisions made for Common Lisp. The Lisp language issues discussed include scoping, operator evaluation and consistency, and state saving. Compiler issues include the integration of assembly code into Lisp programs, our underlying formal semantics, and optimization. Our programming environment is as sophisticated as the majority of Lisp systems. Aiming at hardware such as the IBM 3270 terminals has affected the design of the tools that make up this environment. These issues will also be discussed.