A Transformation System for Developing Recursive Programs

A Transformation System for Developing Recursive Programs

January 1977 | R. M. BURSTALL AND JOHN DARLINGTON
This paper presents a system for transforming programs expressed as recursion equations. The system allows for the transformation of initially simple, lucid programs into more efficient ones by altering their recursion structure. The transformation rules are simple but effective, enabling systematic and mechanized program manipulation. The system is illustrated with examples, including the transformation of a scalar product function and the Fibonacci sequence. The paper describes the transformation rules, including unfolding, folding, abstraction, and law application, and discusses their use in improving program efficiency. It also outlines a strategy for applying these rules and describes a semiautomatic program improvement system. The system is tested on various examples, including the factorial function, list reverse, and tree frontier computation. The paper also discusses the conversion of recursive programs to iterative form and the use of abstract data types. The system is shown to be effective in improving program efficiency and is extended with additional rules for further optimization. The paper concludes with a discussion of future developments, including the possibility of automatically generating definitions and the use of abstract programming techniques.This paper presents a system for transforming programs expressed as recursion equations. The system allows for the transformation of initially simple, lucid programs into more efficient ones by altering their recursion structure. The transformation rules are simple but effective, enabling systematic and mechanized program manipulation. The system is illustrated with examples, including the transformation of a scalar product function and the Fibonacci sequence. The paper describes the transformation rules, including unfolding, folding, abstraction, and law application, and discusses their use in improving program efficiency. It also outlines a strategy for applying these rules and describes a semiautomatic program improvement system. The system is tested on various examples, including the factorial function, list reverse, and tree frontier computation. The paper also discusses the conversion of recursive programs to iterative form and the use of abstract data types. The system is shown to be effective in improving program efficiency and is extended with additional rules for further optimization. The paper concludes with a discussion of future developments, including the possibility of automatically generating definitions and the use of abstract programming techniques.
Reach us at info@study.space
Understanding A Transformation System for Developing Recursive Programs