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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Bird, R. S.: Improving programs by the introduction of recursion. Comm. ACM 20 (11) (1977) 856–863
Burstall, R. M., Darlington, J. A.: Transformation System for Developing Recursive Programs. JACM 24 (1) (1977) 44–67
Chang, C., Lee, R. C.: Symbolic Logic and Mechanical Theorem Proving. Academic Press (1973)
Danvy, O., Glück, R., Thiemann, P. (eds.): Partial Evaluation. Proceedings. Lecture Notes in Comp. Science 1110 Springer-Verlag (1996)
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
Futamura, Y., Nogi, K., Takano, A.: Essence of generalized partial computation. Theoretical Computer Science 90 (1991) 61–79
Futamura, Y., Nogi, K.: Program Transformation Based on Generalized Partial Computation. 5241678, US-Patent, Aug. 31, 1993
Futamura, Y., Otani, H.: Recursion removal rules for linear recursive programs and their effectiveness. Computer Software, JSSST 15 (3) (1998) 38–49 (in Japanese)
Futamura, Y.: Partial Evaluation of Computation Process-An approach to a Compiler-Compiler. Higher-Order and Symbolic Computation 12 (4) (1999) 381–391
Futamura, Y.: Partial Evaluation of Computation Process Revisited. Higher-Order and Symbolic Computation 12 (4) (1999) 377–380
Futamura, Y., Konishi, Z., Glück, R.: Program Transformation System Based on Generalized Partial Computation. New Generation Computing 20 (1) (2001) 75–99
Futamura, Y., Konishi, Z., Glück, R.: Automatic Generation of Efficient String Matching Algorithms by Generalized Partial Computation. ASIA-PEPM 2002 (2002)
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
Graham, R. L., Knuth, D. E., Patashnik, O.: Concrete Mathematics. Addison-Wesley (1989)
Hearn, A. C.: REDUCE-A Case Study in Algebra System Development. Lecture Notes in Comp. Science 144 Springer-Verlag, Berlin (1982)
Jones, N. D.: An Introduction to Partial Evaluation. ACM Computing Surveys 28 (3) (1996) 480–503
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)
Konishi, Z., Futamura, Y.: Recursion removal on generalized partial computation (GPC). Proc. of the 17th National Conference, C5-2, JSSST (2000) (in Japanese)
Matsuya, M., Futamura, Y.: Program transformation and algebraic manipulation. RIMS Workshopon Program Transformation, Symbolic Computation and Algebraic Manipulation, (1999) 115–122 (in Japanese)
Pettorossi, A., Proietti, M.: Rules and Strategies for Transforming Functional and Logic Programs. ACM Computing Surveys 28 (2) (1996) 360–414
Sørensen, M. H., Glück, R., Jones, N. D.: A positive supercompiler. Journal of Functional Programming 6 (6) (1996) 811–838
Takano, A., Nogi, K., Futamura, Y.: Termination Conditions of Generalized Partial Computation. Proceedings of the 7th National Conference, C8-1, JSSST (1990) (in Japanese)
Turchin, V. F.: The concept of a supercompiler. ACM TOPLAS 8 (3) (1986) 292–325
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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