|
The Fox Project
|
Contents | Recent Talks | Recent Publications | Software | Collaborations | Further Links |
---|---|
Elsewhere | Bibliography |
Staged computation refers to explicit or implicit division of a task into stages. It is a standard technique from algorithm design that has found its way to programming languages and environments. Examples are partial evaluation which refers to the global specialization of a program based on a division of the input into static (early) and dynamic (late) data, and run-time code generation which refers to the dynamic generation of optimized code based on run-time values of inputs.
The technology of staged computation is developed in the Fox project in order to allow the modular and safe construction of programs without sacrificing efficiency. Our emphasis has been on lightweight run-time code generation and its logical foundations. Our approach is to make staging explicit in the language (rather than leave it implicit in a tool) and to verify proper staging statically (rather than dynamically or not at all).
Overview references:
Below are some recent papers related to staged computation in the Fox project. A more complete bibliography is also available.
Our software for staged computation is still under development and has not yet been released.
We are collaborating with the Cornell project on Typed Assembly Language which includes work on the Cyclone compiler for run-time code generation
[ Home
| Contact Information
| Publications
| Researchers
]
[ FoxNet
| Typed Intermediate Languages
| Proof-Carrying Code
]
[ Logical Frameworks
| Staged Computation
| Language Design
]