Acta Informatica

, Volume 24, Issue 1, pp 57–77

Partial parametrization eliminates multiple traversals of data structures

  • Masato Takeichi


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  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