9619832 The goal of the research is to develop the notion of "staged computation." Intuitively, the idea is to execute programs and use the results of early computations to optimize later computations. This is accomplished by making use of both partial evaluation and run-time code generation. The research investigates to what extent staged computation can be exploited to improve the adaptability and safety of software while achieving good performance. The focus of the work is the design of an expressive type system for staged computation at the source level, a typed intermediate language within a compiler, and code generation technology to take advantage of explicit computation stages. The starting point for the investigation is the ML language. The proposed research is expected to lead to new compiler technology that will support, in an integrated way, a significantly larger class of optimizations than is currently possible, including both link-time and run-time optimization of code. ***