The introspective facilities of a programming language are those facilities that support explicit access, modification, or control of internal state components of the language processor (or runtime environment). Examples of such internal state components are the control stack, the environment, the current expression or instruction, the heap, the I/O system, the interrupt systems, and the garbage collector. The development of languages based on reflective tower architectures has demonstrated that machine-independent access and modification of a language processor's current expression, environment, and control stack can be provided in a unified, coherent, and semantically principled manner. This research is concerned with extending the range of machine- independent introspective facilities available to programming languages. There are two facets of this extension. One is to extend introspective capabilities to additional language processor state components, such as the store, I/O system, interrupt system, and garbage collector. The second facet is to investigate introspective capabilities in the context of common programming language and programming environment features, such as concurrent processing, encapsulation and privacy mechanisms, and compilation.

Project Start
Project End
Budget Start
1990-01-15
Budget End
1992-12-31
Support Year
Fiscal Year
1989
Total Cost
$125,954
Indirect Cost
Name
Indiana University
Department
Type
DUNS #
City
Bloomington
State
IN
Country
United States
Zip Code
47401