• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Adaptive Evaluation of Non-Strict Programs (2004)

Cached

  • Download as a PDF

Download Links

  • [www.cl.cam.ac.uk]
  • [www.cl.cam.ac.uk]
  • [research.microsoft.com]
  • [www.research.microsoft.com]
  • [www.research.microsoft.com]
  • [berkeley.intel-research.net]
  • [research.microsoft.com]
  • [research.microsoft.com]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Robert J. Ennals
Citations:6 - 0 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@TECHREPORT{Ennals04adaptiveevaluation,
    author = {Robert J. Ennals},
    title = {Adaptive Evaluation of Non-Strict Programs},
    institution = {},
    year = {2004}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Most popular programming languages are strict. In a strict language, the binding of a variable to an expression coincides with the evaluation of the expression. Non-strict languages attempt to make life easier for programmers by decoupling expression binding and expression evaluation. In a non-strict language, a variable can be bound to an unevaluated expression, and such expressions can be passed around just like values in a strict language. This separation allows the programmer to declare a variable at the point that makes most logical sense, rather than at the point at which its value is known to be needed. Non-strict languages are usually evaluated using a technique called Lazy Evaluation. Lazy Evaluation will only evaluate an expression when its value is known to be needed. While Lazy Evaluation minimises the total number of expressions evaluated, it imposes a considerable bookkeeping overhead, and has unpredictable space behaviour. In this thesis, we present a new evaluation strategy which we call Optimistic Evaluation. Optimistic Evaluation blends lazy and eager evaluation under the guidance of an online profiler. The online profiler observes the running program and decides which expressions should

Citations

1225 The essence of functional programming - Wadler - 1992
416 Uniprocessor garbage collection techniques, Yves Bekkers and Jacques Cohen (eds - Wilson - 1992
375 Deforestation: Transforming programs to eliminate trees - Wadler - 1990
120 types can change the world - Linear - 1990
105 Semantics and Pragmatics of the Lambda Calculus - Wadsworth - 1971
94 How to declare an imperative - Wadler - 1995
35 Multipleview tracing for haskell: a new hat - Wallace, Chitil, et al. - 2001
33 Once upon a polymorphic type - Wansbrough, Jones - 1999
33 Strictness analysis aids time analysis - Wadler - 1988
25 Why no one uses functional languages - Wadler - 1998
20 Listlessness is better than laziness - Wadler - 1986
7 Fixing a space leak with a garbage collector - Wadler - 1987
4 Simple Polymorphic Usage Analysis - Wansbrough - 2002
1 von Dorrien. Stingy evaluation. Licentiate thesis - Christina - 1989
1 seq‘ breaks the foldr/buildr-rule. Message posted to the Haskell mailing list: http://haskell.org/pipermail/haskell/2002-May/009653.html - Voiglaender - 2002
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University