Foundation of Meta-Programming
Project/Area Number |
16500004
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
Fundamental theory of informatics
|
Research Institution | University of Tsukuba |
Principal Investigator |
KAMEYAMA Yukiyoshi University of Tsukuba, Graduate School of Systems and Yukiyoshi. Information Engineering, Associate Professor (10195000)
|
Project Period (FY) |
2004 – 2007
|
Project Status |
Completed (Fiscal Year 2007)
|
Budget Amount *help |
¥3,850,000 (Direct Cost: ¥3,700,000、Indirect Cost: ¥150,000)
Fiscal Year 2007: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2006: ¥1,100,000 (Direct Cost: ¥1,100,000)
Fiscal Year 2005: ¥1,300,000 (Direct Cost: ¥1,300,000)
Fiscal Year 2004: ¥800,000 (Direct Cost: ¥800,000)
|
Keywords | Meta-program / Control Operators / Continuations / Delimited Continuations / Type System / Type Safety / Multi-Stage Programming / オブジェクト・プログラム / コントロールオペレータ / 継続 / 型安全性 / メタ・プログラミング / 定理証明 / 高階抽象構文 |
Research Abstract |
The main purpose of this four-year project is to study the foundation of meta-programming, that is, writing a program that generates programs. Meta-programming is ubiquitous in various fields of software, in particular, domain-specific languages, and, therefore, the efficient and reliable construction of meta-programs is an important issue in today's computer science. In this study, we have observed that a proper treatment of meta-programs needs a clear separation of two control flows of programs, one for the code generation, and the other for the execution of the generated codes. In order to explicitly manipulate these control flows, and abstract them as delimited continuations, we have studied two most important sets of control operators, "shift/reset" and "control/prompt", and constructed rigid foundation for them. Based on the semantical analysis for them, we have (1) given type systems for them, (2) proved basic properties such as type soundness, confluence, and compatibility with CPS translation, and (3) analyzed the expressive power of them. We believe that these results build a solid foundation for the future study of meta-programming.
|
Report
(5 results)
Research Products
(37 results)