Abstract
We define and study a particular kind of generalization strategy for deriving efficient functional programs. It is called higher order generalization because it consists in generalizing variables or expressions into functions. That strategy allows us to derive efficient one-pass algorithms with low time×space complexity.
Through some examples we show the power of our generalization strategy and its use together with the tupling strategy. Applying those strategies one may avoid the introduction of circular programs [Bir84].
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
7. References
Abdali, K.S. and Vytopil, J.: “Generalization Heuristics for Theorems Related to Recursively Defined Functions” Report Buro Voor Systeemontwikkeling. Postbus 8348, Utrecht, Netherlands (1984).
Aubin, R.: “Mechanizing Structural Induction” Ph.D. Thesis, Dept. of Artificial Intelligence, University of Edinburgh (1976).
Bauer, F.L., Partsch, H., Pepper, P. and Wössner, H.: “Notes on the Project CIP: Outline of a Transformation System” TUM-INFO-7729 Tech. Report Institut für Informatik, der Technischen Universität München, Germany (1977).
Bird, R.S.: “Using Circular Programs to Eliminate Multiple Traversal of Data” Acta Informatica 21 (1984), 239–250.
Burstall, R.M., MacQueen, D.B., and Sannella, D.T.: “HOPE: An Experimental Applicative Language” Proc. LISP Conference 1980 Stanford USA (1980), 136–143.
Boyer, R.S. and Moore, J.S.: “Proving Theorems About LISP Functions” J.A.C.M. 22, 1 (1975), 129–144.
Burstall, R.M. and Darligton, J.: “A Transformation System for Developing Recursive Programs” J.A.C.M. Vol.24, 1 (1977) 44–67.
Chatelin, P.: “Program Manipulation: to Duplicate is not to Complicate” Report Université de Grenoble, CNRS Laboratoire d'Informatique (1976).
Darligton, J.: “An Experimental Program Transformation and Synthesis System” Artificial Intelligence 16, (1981), 1–46.
Feather, M.S.: “A System for Developing Programs by Transformations” Ph.D. Thesis, Dept. of Artificial Intelligence, University of Edinburgh (1979).
Feather, M.S.: “A Survey and Classification of Some Program Transformation Techniques” Proc. TC2 IFIP Working Conference on Program Specification and Transformation. Bad Tölz, Germany (ed. L. Meertens) (1986).
Huet, G. and Hullot, J.M.: “Proofs by Induction in Equational Theories with Constructors” JCSS 25, 2 (1982), 239–266.
Manna, Z. and Waldinger, R.: “Synthesis: Dreams → Programs” IEEE Transactions of Software Engineering SE-5, 4 (1979), 294–328.
Pettorossi, A.: “Methodologies for Transformation and Memoing in Applicative Languages” Ph. D. Thesis, Computer Science Department, Edinburgh University, Edinburgh (Scotland) (1984).
Pettorossi, A.: “A Powerful Strategy for Deriving Efficient Programs by Transformation” ACM Symposium on Lisp and Functional Programming, Austin, Texas (1984), 273–281.
Pettorossi, A.: “Constructing Recursive Programs which are Space Efficient” in: Computer Program Synthesis Methodologies (Biermann, Guiho, and Kodratoff, eds.) Macmillan Publ. Co., New York (1984), 289–303.
Swierstra, D.: “Communication 513 SAU-15”. IFIP WG.2.1, Suasalito, California, USA (1985).
Wadler, P.L.: “Listlessness is Better than Laziness” Ph. D. Thesis, Computer Science Department, CMU-CS-85-171, Carnegie Mellon University, Pittsburgh, USA (1985)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pettorossi, A., Skowron, A. (1987). Higher order generalization in program derivation. In: Ehrig, H., Kowalski, R., Levi, G., Montanari, U. (eds) TAPSOFT '87. TAPSOFT 1987. Lecture Notes in Computer Science, vol 250. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014981
Download citation
DOI: https://doi.org/10.1007/BFb0014981
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17611-4
Online ISBN: 978-3-540-47717-4
eBook Packages: Springer Book Archive