More haste, less speed: lazy versus eager evaluation

  • Authors:
  • Richard Bird;Geraint Jones;Oege De Moor

  • Affiliations:
  • Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD, UK;Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD, UK;Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD, UK

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 1997
  • Pure versus impure Lisp

    POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages

Quantified Score

Hi-index 0.00

Visualization

Abstract

Nicholas Pippenger has recently given a problem that, under two simple restrictions, can be solved in linear time by an impure Lisp program, but requires Ω(n log n) steps to be solved by any eager pure Lisp program. By showing how to solve the problem in linear time with a lazy functional program, we demonstrate that – for some problems at least – lazy evaluators are strictly more powerful than eager ones.