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.
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.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