Dynamic Cheap Eagerness

  • Karl-Filip Faxén
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2312)


Dynamic cheap eagerness extends cheap eagerness by allowing the decision of whether to build a thunk or speculatively evaluate its body to be deferred until run time. We have implemented this optimisation in a compiler for a simple functional language and measured its effect on a few benchmarks. It turns out that a large part of the overhead of graph reduction can be eliminated, but that run-times and instruction counts are not affected in the same degree.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. CV94.
    Hall Cordelia V. Using Hindley-Milner type inference to optimise list representation. In Lisp and Functional Programming, June 1994.Google Scholar
  2. Fax95.
    Karl-Filip Faxén. Optimizing lazy functional programs using flow inference. In Allan Mycroft, editor, Proceedings of the Second International Symposium on Static Analysis, pages 136–153, Glasgow, UK, September 1995. Springer-Verlag.Google Scholar
  3. Fax97.
    Karl-Filip Faxén. Analysing, Transforming and Compiling Lazy Functional Programs. PhD thesis, Department of Teleinformatics, Royal Institute of Technology, June 1997.Google Scholar
  4. Fax99.
    Karl-Filip Faxén. Representation analysis for coercion placement. In Konstantinos Sagonas and Paul Tarau, editors, Proceedings of the International Workshop on Implementation of Declarative Languages, September 1999.Google Scholar
  5. Fax00.
    Karl-Filip Faxén. Cheap eagerness: Speculative evaluation in a lazy functional language. In Philip Wadler, editor, Proceedings of the 2000 International Conference on Functional Programming, September 2000.Google Scholar
  6. Fax01.
    Karl-Filip Faxén. The costs and benefits of cloning in a lazy functional language. In Stephen Gilmore, editor, Trends in Functional Programming, volume 2, pages 1–12. Intellect, 2001. Proc. of Scottish Functional Programming Workshop, 2000.Google Scholar
  7. HL93.
    Pieter Hartel and Koen Langendoen. Benchmarking implementations of lazy functional languages. In Functional Programming & Computer Architecture, pages 341–349, Copenhagen, June 93.Google Scholar
  8. JW95.
    Suresh Jagannathan and Stephen Weeks. A unified treatment of flow analysis in higher-order languages. In Principles of Programming Languages, 1995.Google Scholar
  9. Ses91.
    Peter Sestoft. Analysis and efficient implementation of functional programs. PhD thesis, DIKU, University of Copenhagen, Denmark, October 1991.Google Scholar
  10. Shi91.
    O. Shivers. The semantics of Scheme control-flow analysis. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation, volume 26, pages 190–198, New Haven, CN, June 1991.Google Scholar
  11. SRA94.
    Zhong Shao, John H. Reppy, and Andrew W. Appel. Unrolling lists. In Lisp and Functional Programming, June 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Karl-Filip Faxén
    • 1
  1. 1.Dept. of Microelectronics and Information TechnologyRoyal Institute of TechnologyKista

Personalised recommendations