Skip to main content
Log in

Automatic generation of very efficient programs by Generalized Partial Computation

  • Invited Papers
  • Published:
Wuhan University Journal of Natural Sciences

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. Danvy O, Glück R, Thiemann P. (eds.)Partial Evaluation. Proceedings. Lecture Notes in Comp Science. Berlin: Springer-Verlag, 1996. 1110.

    Google Scholar 

  3. Futamura Y. Partial Evaluation of Computation Process-An Approach to a Compiler-Compiler.Higher-Order and Symbolic Computation, 1999,12: 381–391.

    Article  MATH  Google Scholar 

  4. Jones N D. An Introduction to Partial Evaluation.ACM Computing Surveys, 1996,28(3): 480–503.

    Article  Google Scholar 

  5. Futamura Y, Nogi K, Takano A. Essence of Generalized Partial Computation,Theoretical Computer Science, 1991,90: 61–79.

    Article  MATH  Google Scholar 

  6. Futamura Y, Nogi K. Program Transformation Based on Generalized Partial Computation, 5241678, US-Patent, Aug. 31, 1993.

  7. Chang C, Lee R C.Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.

  8. 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.

    Google Scholar 

  9. Bird R S. Improving Programs by the Introduction of Recursion.Comm ACM, 1997,20(11):856–863.

    Article  MathSciNet  Google Scholar 

  10. Burstall R M, Darlington J A. Transformation System for Developing Recursive Programs,J ACM, 1997,24(1): 44–67.

    Article  MathSciNet  Google Scholar 

  11. Pettorossi A, Proietti M. Rules and Strategies for Transforming Functional and Logic Programs.ACM Computing Surveys, 1996,28 (2): 360–414.

    Article  Google Scholar 

  12. Hearn A C. REDUCE-A Case Study in Algebra System Development.Lecture Notes in Comp Science. Berlin: Springer-Verlag, 1982. 144.

    Google Scholar 

  13. Graham R L, Knuth D E, Patashnik O.Concrete Mathematics. Addison-Wesley, 1989.

  14. 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).

  15. 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).

    Google Scholar 

  16. 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).

  17. Futamura Y. Partial Evaluation of Computation Process Revisited.Higher-Order and Symbolic Computation, 1999,12: 377–380.

    Article  Google Scholar 

  18. Takano A, Nogi K, Futamura Y. Termination Conditions of Generalized Partial Computation.Proceedings of 7th National Conference, C8-1, JSSST, 1990 (in Japanese).

  19. 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).

  20. 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.

    Google Scholar 

  21. Sørensen M H, Glück R, Jones N D. A Positive Supercompiler.Journal of Functional Programming, 1996,6(6): 811–838.

    Article  Google Scholar 

  22. Turchin V F. The Concept of A Supercompiler.ACM TOPLAS, 1986,8(3): 292–325.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Biography: Yoshihiko Futamura (1942-), male, Professor, Ph. D., research direction: partial compution,et al.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03160221

Key words

CLC number

Navigation