Abstract
Generalized Partial Computation (GPC) is a program transformation method utilizing partial information about input data, properties of auxiliary functions and the logical structure of a source program. GPC uses both an inference engine such as a theorem prover and a classical partial evaluator to optimize programs. Therefore, GPC is more powerful than classical partial evaluators but harder to implement and control. We have implemented an experimental GPC system called WSDFU (Waseda Simplify-Distribute-Fold-Unfold). This paper discusses the power of the program transformation system, its theorem prover and future works.
Similar content being viewed by others
References
Futamura Y, Nogi K. Generalized Partial Computation. In: Bjørner D, Ershov A P, Jones N D,et al. eds.Partial Evaluation and Mixed Computation, North-Holland, Amsterdam: 1988, 133–151.
Danvy O, Glück R, Thiemann P. (eds.)Partial Evaluation. Proceedings. Lecture Notes in Comp Science. Berlin: Springer-Verlag, 1996. 1110.
Futamura Y. Partial Evaluation of Computation Process-An Approach to a Compiler-Compiler.Higher-Order and Symbolic Computation, 1999,12: 381–391.
Jones N D. An Introduction to Partial Evaluation.ACM Computing Surveys, 1996,28(3): 480–503.
Futamura Y, Nogi K, Takano A. Essence of Generalized Partial Computation,Theoretical Computer Science, 1991,90: 61–79.
Futamura Y, Nogi K. Program Transformation Based on Generalized Partial Computation, 5241678, US-Patent, Aug. 31, 1993.
Chang C, Lee R C.Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.
Futamura Y, Konishi Z, Glueck R. Implementation of an Experimental System for Automatic Program Transformation Based on Generalized Partial Computation.The 3rd International Workshop on Intelligent Software Engineering. Ireland: Limerick, 2000.
Bird R S. Improving Programs by the Introduction of Recursion.Comm ACM, 1997,20(11):856–863.
Burstall R M, Darlington J A. Transformation System for Developing Recursive Programs,J ACM, 1997,24(1): 44–67.
Pettorossi A, Proietti M. Rules and Strategies for Transforming Functional and Logic Programs.ACM Computing Surveys, 1996,28 (2): 360–414.
Hearn A C. REDUCE-A Case Study in Algebra System Development.Lecture Notes in Comp Science. Berlin: Springer-Verlag, 1982. 144.
Graham R L, Knuth D E, Patashnik O.Concrete Mathematics. Addison-Wesley, 1989.
Matsuya M, Futamura Y. Program Transformation and Algebraic Manipulation.RIMS Workshop on Program Transformation, Symbolic Computation and Algebraic Manipulation, November, 1999, 115–122 (in Japanese).
Futamura Y, Otani H. Recursion Removal Rules for Linear Recursive Programs and Their Effectiveness.Computer Software JSSST, 1998,15(3): 1998, 38–49 (in Japanese).
Konishi Z, Futamura Y. Recursion removal in Generalized Partial Computation (GPC).Proc of the 17th National Conference of JSPS, C5-2, Sep 2000 (in Japanese).
Futamura Y. Partial Evaluation of Computation Process Revisited.Higher-Order and Symbolic Computation, 1999,12: 377–380.
Takano A, Nogi K, Futamura Y. Termination Conditions of Generalized Partial Computation.Proceedings of 7th National Conference, C8-1, JSSST, 1990 (in Japanese).
Konishi Z, Futamura Y. A Theorem Proving System and a Terminating Process for Generalized Partial Computation (GPC).RIMS Workshop on Program Transformation, Symbolic Computation and Algebraic Manipulation, November, 1999, 59–64 (in Japanese).
Glück R, Klimov A V. Occam’s Razor in Metacomputation: the Notion of a Perfect Process Tree. In: Cousot P,et al. eds. Static Analysis.Lecture Notes in Comp Science, Vol 724, Berlin: Springer-Verlag 1993, 112–123.
Sørensen M H, Glück R, Jones N D. A Positive Supercompiler.Journal of Functional Programming, 1996,6(6): 811–838.
Turchin V F. The Concept of A Supercompiler.ACM TOPLAS, 1986,8(3): 292–325.
Author information
Authors and Affiliations
Additional information
Biography: Yoshihiko Futamura (1942-), male, Professor, Ph. D., research direction: partial compution,et al.
Rights and permissions
About this article
Cite this article
Futamura, Y., Konishi, Z. & Glück, R. Automatic generation of very efficient programs by Generalized Partial Computation. Wuhan Univ. J. of Nat. Sci. 6, 1–11 (2001). https://doi.org/10.1007/BF03160221
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03160221
Key words
- partial evaluation
- program transformation
- theorem proving
- program optimization
- recursion removal
- algebraic manipulation