Optimizing Reflective Languages by Using Partial Evaluation

نویسندگان

  • Hidehiko Masuhara
  • Yuuya Sugita
  • Akinori Yonezawa
چکیده

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.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Duplication and Partial Evaluation For a Better Understanding of Reflective Languages

This paper presents a general implementation framework for reflective languages. It allows us to systematically build reflective languages which have the following favorable properties: (1) user programs are allowed to access and change (parts of) metalevel interpreters, (2) reflective facilities are available at every level, (hence there exists conceptually an infinite tower of interpreters), ...

متن کامل

Design and Partial Evaluation of Meta-Objects for a Concurrent Reflective Language

Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution suffers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to metainterpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ineffective. This paper proposes a...

متن کامل

Generating a Pattern Matching Compiler by Partial Evaluation

Partial evaluation can be used for automatic generation of compilers and was first implemented in [10]. Since partial evaluation was extended to higher order functional languages [9] [2] it has become possible to write denotational semantics definitions of languages and implement these with very few changes in the language treated by partial evaluators. In this paper we use this technique to ge...

متن کامل

Design and Partial Evaluation of Meta - objects for a Concurrent Re ective Language Hidehiko

In concurrent object-oriented languages, customizable meta-objects are powerful abstraction for extending and optimizing crucial implementation mechanisms such as method dispatch and mutual exclusion. However, interpretive execution of meta-objects causes severe performance penalty. Our previous study shows that applying partial evaluation to meta-interpreters is useful for alleviating the prob...

متن کامل

Design and Partial Evaluation of Meta-objects for a Concurrent Re Blockinective Language

In concurrent object-oriented languages, customizable meta-objects are powerful abstraction for extending and optimizing crucial implementation mechanisms such as method dispatch and mutual exclusion. However, interpretive execution of meta-objects causes severe performance penalty. Our previous study shows that applying partial evaluation to meta-interpreters is useful for alleviating the prob...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007