Abstract
When writing programs one uses variables for storing input and output data. They can be considered as necessary variables, because they are needed for expressing the meaning of programs. Often one also uses variables which are unnecessary, in the sense that they are not required for describing the input-output relation. Unnecessary variables are used by the programmer because they often allow for a more transparent way of writing programs or an easier proof of their correctness.
This work has been partially supported by the “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo “ of the CNR and MURST 40% (Italy). An expanded version of this paper was presented at PLILP 91, Passau, Germany, 26-28 Aug, 1991.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
R. M. Burstall and J. Darlington. A Transformation System for Delevoping Recursive Programs. J ACM, Vol. 24, No. 1, January 1977, pp. 44–67.
S. K. Debray. Unfold/Fold Transformations and Loop Optimization of Logic Programs. Proc. SIGPLAN 88, Conference on Programming Language Design and Implementation, Atlanta, Georgia, 1988.
M. S. Feather. A Survey and Classification of Some Program Transformation Techniques. Proc. TC2 IFIP Working Conference on Program Specification and Transformation, Bad TÖolz Germany, 1986.
A. Pettorossi. Transformation of Programs and Use of Tupling Strategy. Proc. Informatica 77, Bled, Yugoslavia, 1977, pp. 3 103, 1-6.
A. Pettorossi and M. Proietti. Importing and Exporting Information in Program Development Proc. IFIP TC2 Workshop on Partial Evaluation and Mixed Computation, Gammel Avernaes, Denmark, North Holland 1987, pp. 405-425.
H. Tamaki and T. Sato. Unfold/Fold Transformation of Logic Pro-grams Proc. 2nd International Conference on Logic Programming, Uppsala, Sweden, 1984.
P. L. Wadler. Deforestation: Transforming Programs to Eliminate Trees. Proc. ESOP 88, Nancy, France, 1988, Lecture Notes in Computer Science 300, pp. 344-358.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Proietti, M., Pettorossi, A. (1992). An Automatic Transformation Strategy for Avoiding Unnecessary Variables in Logic Programs. In: Clement, T.P., Lau, KK. (eds) Logic Program Synthesis and Transformation. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3494-7_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3494-7_10
Publisher Name: Springer, London
Print ISBN: 978-3-540-19742-3
Online ISBN: 978-1-4471-3494-7
eBook Packages: Springer Book Archive