When our development process began, there was ferment in the Lisp community. One of the more important events relat- ing to the design of the new IBM Research Lisp system was the publication of the Bobrow and Wegbreit paper [Bobrow and Wegbreit 1973] proposing a new control structure, the spaghetti stack. We immediately seized on the elegance and flexibilityof this idea.
A key component of this model of computation was the con- cept of the saved state, a data object which captured both the set of current variable bindings (the environment) and the current call chain and point of execution (the control). We have used saved states (state descriptors) extensively, both as a form of continuation and as a component of closures.
A key component of this model of computation was the con- cept of the saved state, a data object which captured both the set of current variable bindings (the environment) and the current call chain and point of execution (the control). We have used saved states (state descriptors) extensively, both as a form of continuation and as a component of closures.