Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Communications of the ACM
Semantics and axiomatics of a simple recursive language.
STOC '74 Proceedings of the sixth annual ACM symposium on Theory of computing
Rules and strategies for transforming functional and logic programs
ACM Computing Surveys (CSUR)
Tabulation Techniques for Recursive Programs
ACM Computing Surveys (CSUR)
Program Transformation Systems
ACM Computing Surveys (CSUR)
On the inevitable intertwining of specification and implementation
Communications of the ACM
Proving the correctness of heuristically optimized code
Communications of the ACM
Threshold evaluation and the semantics of call by value, assignment and generic procedures
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Higher-Order and Symbolic Computation
Computer architecture for correct programming
ISCA '78 Proceedings of the 5th annual symposium on Computer architecture
Information systems: Modelling, sequencing and transformations
ICSE '78 Proceedings of the 3rd international conference on Software engineering
A complete axiomatic system for proving deductions about recursive programs
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
The automatic synthesis of recursive programs
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
The selection of efficient implementations for a high-level language
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
A normal form for compiler testing
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Programming as an evolutionary process
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Programming languages considered as abstract data types
ACM '80 Proceedings of the ACM 1980 annual conference
Program improvement by source to source transformation
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Goal-directed program transformation
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Constructive methods of program design
Software pioneers
TINLAP '75 Proceedings of the 1975 workshop on Theoretical issues in natural language processing
AL1: a package for generating strategies from tables
ACM SIGART Bulletin
An iterative lisp solution to the samefringe problem
ACM SIGART Bulletin
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
The automatic synthesis of systems of recursive programs
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
Predicate logic: a calculus for deriving programs
IJCAI'77 Proceedings of the 5th international joint conference on Artificial intelligence - Volume 1
Knowledge and reasoning in program synthesis
IJCAI'75 Proceedings of the 4th international joint conference on Artificial intelligence - Volume 1
A fold/unfold transformation framework for rewrite theories extended to CCT
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Hi-index | 0.04 |
The paper describes a system of rules for transforming programs, the programs being in the form of recursion equations. The idea is to start with a very simple, lucid and hopefully correct program, then to transform it into a more efficient one by altering the recursion structure. Illustrative examples of program transformations are given, and a tentative implementation is described. We hope to throw some light on the alternative structures for programs, also to indicate a possible initial phase for an automatic or semi-automatic program manipulation system.