Communications of the ACM
Compilation and delayed evaluation in APL
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Metalanguage for interactive proof in LCF
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Computer experiments with the REVE term rewriting system generator
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental Construction of Unification Algorithms in Equational Theories
Proceedings of the 10th Colloquium on Automata, Languages and Programming
Proceedings of the International Colloquium on Formalization of Programming Concepts
Function level programs as mathematical objects
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Rule-based transformation of relational queries into iterative programs
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Efficient interpretation of synchronizable series expressions
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Journal of Symbolic Computation
A rule-based view of query optimization
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
On the translation of relational queries into iterative programs
ACM Transactions on Database Systems (TODS)
Automatic transformation of series expressions into loops
ACM Transactions on Programming Languages and Systems (TOPLAS)
A FAD for Data Intensive Applications
IEEE Transactions on Knowledge and Data Engineering
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Hi-index | 0.00 |
In this paper, we are interested in the application of program transformation for minimizing the number of intermediary sequences used in iterative programs. We shall use the FP language for presenting programs. The transformation rules are based on the algebra of functional programs. In contrast to the other systems of rules for program transformation, sets of rules presented here are convergent (i.e. finitely terminating and confluent) rewriting systems. These rewriting systems are the result of the Knuth-Bendix procedure applied to a set of equations. The equations are valided by the algebra of functional programs. We use the implementation of the Knuth-Bendix procedure in the system REVE. If REVE is applied to a set of equations and if it does not fail, then it returns a convergent rewriting set of rules. With such a rewriting system, the task of transforming a program is reduced to rewrite it until we get its normal form. Thus we propose a set of valid equations and we discuss how convergent rewriting systems can be generated using REVE.