Title
Run-time code generation and modal-ML
Abstract
This paper presents a typed programming language and compiler for run-time code generation. The language, called ML', extends ML with modal operators in the style of the Mini-ML'e language of Davies and Pfenning. ML' allows programmers to use types to specify precisely the stages of computation in a program. The types also guide the compiler in generating target code that exploits the staging information through the use of run-time code generation. The target machine is currently a version of the Categorical Abstract Machine, called the CCAM, which we have extended with facilities for run-time code generation.This approach allows the programmer to express the staging that he wants directly to the compiler. It also provides a typed framework in which to verify the correctness of his staging intentions, and to discuss his staging decisions with other programmers. Finally, it supports in a natural way multiple stages of run-time specialization, so that dynamically generated code can be used in the generation of yet further specialized code.This paper presents an overview of the language, with several examples of programs that illustrate key concepts and programming techniques. Then, it discusses the CCAM and the compilation of ML' programs into CCAM code. Finally, the results of some experiments are shown, to demonstrate the benefits of this style of run-time code generation for some applications.
Year
DOI
Venue
1998
10.1145/277650.277727
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Keywords
Field
DocType
computer programming,partial evaluation,compilers,abstract machine,user friendly,programming language,high level languages,software engineering,critical path,multithreading,work,generation,parallel computing
Dead code elimination,Object code,Dynamic compilation,Programming language,Computer science,Source code,Compile time,Code generation,Compiler,Theoretical computer science,Redundant code
Conference
Volume
Issue
ISSN
33
5
0362-1340
ISBN
Citations 
PageRank 
0-89791-987-4
21
1.69
References 
Authors
13
3
Name
Order
Citations
PageRank
Philip Wickline1383.62
Peter Lee 00012975147.71
Frank Pfenning33376265.34