gjc@mitech.COM ("George J. Carrette") (06/26/91)
It might make sense to define the behavior of load in terms of wrapping a form of some kind, such as a specially crafted "define" around all the forms in a file. And actually, you do have to define what load does in more detailed terms than saying it does something to the "toplevel-environment." That is because in software engineering practice one might very well want to get away from the concept of "source-files" and of a single source file being a sequence of side-effects. It was certainly the experience in the lispmachine effort, which had some rather nice properties for maintaining large systems, especially in the area of system making and system patching, that source files which had sequences if clever side-effects did not fit very well into the model, and would cause problems forever over the lifetime of the projects they were used in. Old timers test here: How many people remember dealing with this sort of thing: (declare (read)) (do-something-clever) -gjc