3 research outputs found

    Bootstrapping higher-order program transformers from interpreters

    No full text
    Partial evaluation can automatically generate program transformers from interpreters. In the context of functional languages, we investigate the design space of higher-order interpreters to achieve certain transformation effects. Our work is based on the interpretive approach and exploits the language preservation property of offline partial evaluators. We have generated higher-order online partial evaluators, optimizing closure converters, and converters to first-order tail form. The latter can serve as the middle end of a compiler. The generated transformers are strictly more powerful than the partial evaluators used for their generation.

    Bootstrapping Higher-Order Program Transformers from Interpreters

    No full text
    Partial evaluation can automatically generate program transformers from interpreters. In the context of functional languages, we investigate the design space of higher-order interpreters to achieve certain transformation effects. The present work is based on the interpretive approach and exploits the language preservation property of offline partial evaluators. We have generated higher-order online partial evaluators, optimizing closure converters, and converters to first-order tail form. The latter can serve as the middle end of a compiler. The generated transformers are strictly more powerful than the partial evaluators used for their generation. A simple-minded partial evaluator for a first-order language suffices to generate the above transformers. Self-application of a partial evaluator with respect to an interpreter produces a compiler. We investigate the generatation of optimizing program transformers from interpreters. We study different types of interpreters for a strict, high..

    Bootstrapping Higher-Order Program Transformers from Interpreters

    No full text
    Partial evaluation can automatically generate program transformers from interpreters. In the context of functional languages, we investigate the design space of higher-order interpreters to achieve certain transformation effects. Our work is based on the interpretive approach and exploits the language preservation property of offline partial evaluators. We have generated higher-order online partial evaluators, optimizing closure converters, and converters to first-order tail form. The latter can serve as the middle end of a compiler. The generated transformers are strictly more powerful than the partial evaluators used for their generation. 1 Introduction Specialization of a self-applicable partial evaluator with respect to an interpreter produces a compiler. This paper investigates the generation of optimizing program transformers from interpreters. We study different types of interpreters for a strict, higher-order functional language, and show how to use different partial evaluat..
    corecore