Skip to main content

WSDFU: Program Transformation System Based on Generalized Partial Computation

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2566))

Abstract

Generalized Partial Computation (GPC) is a program transformation method utilizing partial information about input data and auxiliary functions as well as 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 demonstrates the power of the program transformation system as well as its theorem prover and discusses some future works.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amtoft, T., Consel, C., Danvy, O., Malmkjaer, K.: The abstraction and instantiation of string-matching programs. BRICS RS-01-12, Department of Computer Science, University of Aarhus (2001)

    Google Scholar 

  2. Bird, R. S.: Improving programs by the introduction of recursion. Comm. ACM 20 (11) (1977) 856–863

    Article  MATH  MathSciNet  Google Scholar 

  3. Burstall, R. M., Darlington, J. A.: Transformation System for Developing Recursive Programs. JACM 24 (1) (1977) 44–67

    Article  MATH  MathSciNet  Google Scholar 

  4. Chang, C., Lee, R. C.: Symbolic Logic and Mechanical Theorem Proving. Academic Press (1973)

    Google Scholar 

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

    Google Scholar 

  6. Futamura, Y., Nogi, K.: Generalized partial computation. in Bjørner, D., Ershov, A. P., Jones, N. D. (eds.): Partial Evaluation and Mixed Computation. North-Holland, Amsterdam (1988) 133–151

    Google Scholar 

  7. Futamura, Y., Nogi, K., Takano, A.: Essence of generalized partial computation. Theoretical Computer Science 90 (1991) 61–79

    Article  MATH  Google Scholar 

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

    Google Scholar 

  9. Futamura, Y., Otani, H.: Recursion removal rules for linear recursive programs and their effectiveness. Computer Software, JSSST 15 (3) (1998) 38–49 (in Japanese)

    Google Scholar 

  10. Futamura, Y.: Partial Evaluation of Computation Process-An approach to a Compiler-Compiler. Higher-Order and Symbolic Computation 12 (4) (1999) 381–391

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  12. Futamura, Y., Konishi, Z., Glück, R.: Program Transformation System Based on Generalized Partial Computation. New Generation Computing 20 (1) (2001) 75–99

    Google Scholar 

  13. Futamura, Y., Konishi, Z., Glück, R.: Automatic Generation of Efficient String Matching Algorithms by Generalized Partial Computation. ASIA-PEPM 2002 (2002)

    Google Scholar 

  14. 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 724 Springer-Verlag (1993) 112–123

    Google Scholar 

  15. Graham, R. L., Knuth, D. E., Patashnik, O.: Concrete Mathematics. Addison-Wesley (1989)

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  18. 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, (1999) 59–64 (in Japanese)

    Google Scholar 

  19. Konishi, Z., Futamura, Y.: Recursion removal on generalized partial computation (GPC). Proc. of the 17th National Conference, C5-2, JSSST (2000) (in Japanese)

    Google Scholar 

  20. Matsuya, M., Futamura, Y.: Program transformation and algebraic manipulation. RIMS Workshopon Program Transformation, Symbolic Computation and Algebraic Manipulation, (1999) 115–122 (in Japanese)

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  MATH  Google Scholar 

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

    Google Scholar 

  24. Turchin, V. F.: The concept of a supercompiler. ACM TOPLAS 8 (3) (1986) 292–325

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Futamura, Y., Konishi, Z., Glück2, R. (2002). WSDFU: Program Transformation System Based on Generalized Partial Computation. In: Mogensen, T.Æ., Schmidt, D.A., Sudborough, I.H. (eds) The Essence of Computation. Lecture Notes in Computer Science, vol 2566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36377-7_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-36377-7_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00326-7

  • Online ISBN: 978-3-540-36377-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics