Acta Informatica

, Volume 24, Issue 1, pp 57–77

Partial parametrization eliminates multiple traversals of data structures

  • Masato Takeichi
Article

Summary

The use of higher order functions in functional programming opens up the possibility of defining functions by partial parametrization, and lazy evaluation brings out a new approach in programming methodology. This paper describes a new transformation technique based on partial parametrization and fully lazy evaluation for eliminating multiple traversais of data structures. It uses no particular mechanisms in functional programming, whereas it transforms a wider class of programs into efficient ones than that proposed so far.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bird, R.S.: Using circular programs to eliminate multiple traversais of data. Acta Inf. 21, 239–250 (1984)Google Scholar
  2. 2.
    Burge, W.H.: Recursive Programming Techniques. Reading, MA: Addison-Wesley 1975Google Scholar
  3. 3.
    Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. J. ACM 24, 44–67 (1977)Google Scholar
  4. 4.
    Friedman, D.P., Wise, D.S.: CONS should not evaluate its arguments. Proc. 3rd International Colloquium on Automata, Languages and Programming, pp. 257–284. Edinburgh (1976)Google Scholar
  5. 5.
    Henderson, P., Morris, J.M.: A lazy evaluator. Proc. 3rd Symp. on Principle of Programming Languages, pp. 95–103. Atlanta, GA (1976)Google Scholar
  6. 6.
    Hughes, R.J.M.: The design and implementation of programming languages. D.Phil. thesis. Oxford University 1984Google Scholar
  7. 7.
    Hughes, R.J.M.: Super-combinators: a new implementation method for applicative languages. Proc. 1982 ACM Symp. Lisp and Functional Programming, pp. 1–10. Pittsburgh, PA (1982)Google Scholar
  8. 8.
    Hughes, R.J.M.: Lazy memo-functions. Functional Programming Languages and Computer Architecture. Lect. Notes Comp. Sci. 201, pp. 129–146. Berlin, Heidelberg, New York: 1985Google Scholar
  9. 9.
    Johnsson, T.: Lambda-lifting: Transforming Programs to Recursive Equations, ibid. Google Scholar
  10. 10.
    Milner, R.: A proposal for Standard ML. Proc. 1984 ACM Symp. LISP and Functional Programming, pp. 184–197. Austine, TX (1984)Google Scholar
  11. 11.
    Turner, D.A.: Aspects of the implementation of programming languages. D.Phil. thesis. Oxford University 1981Google Scholar
  12. 12.
    Vuillemin, J.: Correct and optimal implementations of recursion in a simple programming language. J. Comp. Syst. Sci. 9, 332–354 (1974)Google Scholar
  13. 13.
    Wadsworth, C.P.: Semantics and Pragmatics of the Lambda-Calculus. D.Phil. thesis. Oxford University 1971Google Scholar

Copyright information

© Springer-Verlag 1987

Authors and Affiliations

  • Masato Takeichi
    • 1
  1. 1.Department of Computer ScienceThe University of Electro-CommunicationsTokyoJapan

Personalised recommendations