Proceedings

Theory of Linear Equations Applied to Program Transformation

Download BibTeX Cite

Proceedings of the Eighth International Joint Conference on Artificial Intelligence. Automatic Programming. Pages 10-15.

© 1983 International Joint Conferences on Artificial Intelligence

Abstract

In this pap er is presented a tec hniqu e for transforming a class of recursive equations ca lled linear equations into iterativ e equations. Linear equations are characterized by involving at the most one recursive call for any invocation. In contrast to the conventional techniques, the scheme of program transformation presented here involves finding the solution of the given linear equation and transforming this solution. The solutions of lin ea r equations can always be expressed using a construct called abstract sequence. Two classe s of abstract sequence programs a re identified: right-associative and left-a ssociative sequence programs. The former are obtained by solving linear equations and the latter correspond to it e rative programs . The task of transforming linear recursive programs into iterative programs is thus reduced to the task of transforming right-associativ e se quence programs into left-associative ones. Variou s tran sfo rmation rules are developed based on an algebra of functional programs.

  1. Arsac,J. , KodratofT, Y.l1982], Some techniques for recursion removal from recursive functions, ACM Trans. on Prog. Lang. and Systems, 4, 2, 295-322.
  2. Backus, J.W. [1978), Can programming be liberated from the von Neumann style? A functional style and its algebra of programs, Comm. ACM, 21, 8, 613-641.
  3. Backus, J.W. [1979), On extending the concept of program and solving linear functional equations, IBM Research Division, San Jose.
  4. Backus, J.W. [1981), The algebra of functional programs: functional level reasoning, linear equations and extended definitions, (in) Formalization of programming concepts, (ed) Diaz and Ramos, Springer-Verlag.
  5. Burstall, R.M., Darlington, J.[1977), A transformation system for developing recursive programs, Journal of ACM, 24, 1, 44-67.
  6. Darlington, J ., Burstall, • R.M. [1976), A system which automatically improves programs, Acta Informatica, 6,1, 41-60. IJCAI
  7. Darlington, J .[1978), A synthesis of several sorting algorithms, Acta Informatica, 11, 1, 1-30.
  8. Feather, M.S. [1982), A system for assisting program transformation, ACM Trans . on Prog. Lang. and Systems, 4,1, 1-20.
  9. Kieburtz, R.B ., Shultis, J.[1981], Transformation of FP program schemes, 1981 Conf on Functional Programming Languages and Computer Architecture, ACM, 41-48.
  10. Manna, Z., Vuillemin, J.[1972], Fixpoint Approach to the theory of computation, Comm. ACM, 15, 7, 528-536.
  11. Reddy, U .S. [1982a), Programming with sequences, ACM Southeast regional conference, Knoxville, Tennessee.
  12. Reddy, U.S. [1982b], Transformation of linear recursive programs using sequences, Dep. of Comp. Sci., University of North Carolina at Chapel Hill.
  13. Reddy, U.S. [1983), A simple characterization of linear recursive equations, Dep. of Comp. Sci., University of Utah, Salt Lake City.
  14. Scott, D.[1970], Outline of a mathematical theory of computation, Programming Research Group Tech. Memo. PRG-2, Oxford University Computing Lab.
  15. Walker, S.A., Strong, H .R. [1973), Characterizations of flowchartable recursions, J . of Computer and System Sciences, 7, 404-447.
  16. Williams, J .H. [1982], On the development of the algebra of functional programs, ACM Trans. on Prog. Lang. and Systems, 4, 4, 733-757.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards