• DocumentCode
    834625
  • Title

    Multistage programming support in CLI

  • Author

    Attardi, G. ; Cisternino, A.

  • Author_Institution
    Dipt. di Informatica, Pisa, Italy
  • Volume
    150
  • Issue
    5
  • fYear
    2003
  • Firstpage
    275
  • Lastpage
    281
  • Abstract
    Execution environments such as CLR and JVM provide many features needed by multi-stage programming languages, though there is no explicit support for them. Besides, staged computations are widely used in areas such as Web programming and generative programming. In the paper the authors present a possible CLR extension (which can also be ported to JVM) to provide support for multi-stage languages. The extension is based on CodeBricks - a framework for run-time code generation which allows expressing homogenous transformations of intermediate language as a composition of methods. They discuss the code generation strategy adopted by the framework and how an extension to CLR may improve the performance of multi-stage applications, although CodeBricks can also be implemented using the standard CLR. An informal discussion of how to translate MetaML staging annotations into CodeBricks is provided with a simple example.
  • Keywords
    Java; program compilers; programming environments; software performance evaluation; CLI; CLR extension; CodeBricks; JVM; MetaML staging annotations; Web programming; generative programming; homogenous transformations; intermediate language; method composition; multistage programming support; performance; programming languages; run-time code generation;
  • fLanguage
    English
  • Journal_Title
    Software, IEE Proceedings -
  • Publisher
    iet
  • ISSN
    1462-5970
  • Type

    jour

  • DOI
    10.1049/ip-sen:20030990
  • Filename
    1249336