MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Optimizing Reflective Languages by Using Partial Evaluation

by Hidehiko Masuhara ,  Yuuya Sugita ,  Akinori Yonezawa
Add To MetaCart

Abstract:

We present techniques of compiling a reflective concurrent object-oriented language, ABCL/R3, by using partial evaluation. Although the compilation framework is based on the first Futamura projection, mere application of partial evaluation cannot improve performance due to concurrent, object-oriented, and dynamically modifiable design in ABCL/R3. Instead of developing a dedicated partial evaluator for ABCL/R3, we specialize the meta-level by applying sequential partial evaluator after translating the meta-level into sequential programs. We also showed a framework to specialize programs that are modified at run-time by using dynamic code generation techniques. Our techniques presented in the paper could also be useful to other programs with `impure' features, such as concurrency, object-oriented style, and dynamic modification. 1 Introduction Partial evaluation[6, 7] has long been recognized as a technique that compiles a program executed by an interpreter. A program in a reflective l...

Citations

545 Partial Evaluation and Automatic Program Generation – Jones, Gomard, et al. - 1993
183 A General Approach for Run-Time Specialization and its Application to C – Consel, Nol - 1996
173 Reflection and semantics in lisp – Smith - 1984
144 Optimizing ML with run-time code generation – Lee, Leone - 1996
123 Computational reflection – Maes - 1987
108 vcode: A retargetable, extensible, very fast dynamic code generation system – Engler - 1996
54 Object-oriented concurrent reflective languages can be implemented e#ciently – Masuhara, Matsuoka, et al. - 1992
41 Partial evaluation of computation process—an approach to a compiler-compiler – Futamura - 1999
31 Compiling away the meta-level in object-oriented concurrent reflective languages using partial evaluation – Masuhara, Matsuoka, et al. - 1995
19 Schematic: A Concurrent Object-Oriented Extension to Scheme – Taura, Yonezawa - 1996
12 Across the bridge between reflection and partial evaluation – Danvy - 1988
8 Partial evaluation in reflective system implementations – Ruf - 1993
5 Partial evaluation of call-by-value lambda-calculus with side-e ects – Asai, Masuhara, et al.
4 Architecture Design and Compilation Techniques Using Partial Evaluation in Reflective Concurrent Object-Oriented Languages – MASUHARA - 1999
3 An e#cient implementation of a reflective language using a dynamic code generation technique – Sugita, Masuhara, et al. - 1998
2 Run-time program specialization in java bytecode – Masuhara, Yonezawa - 1999
2 On-the-fly specialization of reflective programs using dynamic code generation techniques – Sugita, Masuhara, et al. - 1998