Philip Wickline

The PML Compiler: From Modal Logic to Run-Time Code Generation

A well-known technique for improving the performance of computer programs is to separate computations into distinct stages. If this is done carefully, the results of early computations can be exploited to optimize later computations in a way that sometimes leads to substantial performance gains.

PML is an extension of Standard ML which provides primitives for controlling staging based upon modal logic. PML allows programmers to express their own staging intentions, while ensuring that any program which passes type checking will not contain any staging errors.

Run-time code generation is a specialization technique that defers some aspects of compilation for selected sections of code until run time, in order to profit from dynamic program information.

In this talk I will briefly present PML, and discuss our technique for light-weight run-time code generation. I will then describe recent work on the PML compiler. This compiler translates PML language expressions into machine code which performs run-time code generation to implement source-level staging specifications.

April 21, 1999
Wean 8220