Abstract
A program transformation strategy called meta-shifting is developed for control optimization of programs written in languages with control freedom. The strategy involves writing a specialized evaluator for each program (segment) with specific control. It is applied to an equational language to derive a general method to transform one program into another, which simulates (approximately) normal order evaluation of the original program, under interpreters with arbitrary evaluation order.
References
Gallagher, J.: Simulating Corouting for the 8 Queens Problem Logic Programming Newsletter,No. 3 (1982) 10.
Hoffmann, C. M. and O’Donnell, M. J.: Programming with Equations, ACM TOPLAS,4-1 (1982) 83.
Huet, G.: Confluent Reduction: abstract properties and application to term rewriting systems, J. ACM,27-4 (1980) 797.
Ono, K.: Selectively Delayed Evaluation through Program Transformation, J. Inform. Process.,5-4 (1982) 223.
Steele, G. L., Jr: RABBIT: a Compiler for SCHEME, MIT AI Memo,474 (1978).
Wand, M.: Continuation based program transformation stragegies, J. ACM,27-1 (1980) 164.
Author information
Authors and Affiliations
About this article
Cite this article
Tamaki, H., Sato, T. Program transformation through meta-shifting. NGCO 1, 93–98 (1983). https://doi.org/10.1007/BF03037026
Issue Date:
DOI: https://doi.org/10.1007/BF03037026