How powerful are folding/unfolding transformations?
- 1 January 1994
- journal article
- research article
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 4 (1) , 89-112
- https://doi.org/10.1017/s0956796800000964
Abstract
This paper discusses the transformation power of Burstall and Darlington's folding/unfolding system, i.e. what kind of programs can be derived from a given one. A necessary condition of derivability is proved. The notion of inherent complexity of recursive functions in introduced. A bound on efficiency gain by folding/unfolding transformations is obtained for all reasonable computation models. The well-known partial correctness and incompleteness of the system are corollaries of the result. Examples of underivability are given, e.g. binary searching cannot be derived from linear searching, merge sorting cannot be derived from insert sorting.Keywords
This publication has 13 references indexed in Scilit:
- Eureka definitions for free! or Disagreement points for fold/unfold transformationsPublished by Springer Nature ,1990
- DERIVATION OF PROGRAMS WHICH TRAVERSE THEIR INPUT DATA ONLY ONCEPublished by Elsevier ,1989
- Termination preserving problem in the transformation of applicative programsJournal of Computer Science and Technology, 1987
- Projections for strictness analysisPublished by Springer Nature ,1987
- Program Transformation SystemsACM Computing Surveys, 1983
- Deriving very efficient algorithms for evaluating linear recurrence relations using the program transformation techniqueActa Informatica, 1982
- A System for Assisting Program TransformationACM Transactions on Programming Languages and Systems, 1982
- An experimental program transformation and synthesis systemArtificial Intelligence, 1981
- A synthesis of several sorting algorithmsActa Informatica, 1978
- A Transformation System for Developing Recursive ProgramsJournal of the ACM, 1977