Avoiding Unnecessary Updates

John Launchbury and Andrew Gill and John Hughes and Simon Marlow and Simon Peyton Jones and Philip Wadler, Glasgow Workshop on Functional Programming, Workshops in Computing, 1992

AbstractGraph reduction underlies most implementations of lazy functional languages, allowing separate computations to share results when sub-terms are evaluated. Once a term is evaluated, the node of the graph representing the computation is updated with the value of the term. However, in many cases, no other computation requires this value, so the update is unnecessary. In this paper we take some steps towards an analysis for determining when these updates may be omitted.
 
Resourcespdfpsciteseer
 
BibTeX
@inproceedings{Avoid92,
  author = {John Launchbury and Andrew Gill and John Hughes and Simon Marlow and Simon Peyton~Jones and Philip Wadler},
  title = {Avoiding Unnecessary Updates},
  booktitle = {Glasgow Workshop on Functional Programming, Workshops in Computing},
  pages = {144-153},
  year = {1992},
  location = {Ayr, Scotland},
  publisher = {Springer-Verlag},
  abstract = {Graph reduction underlies most implementations of lazy functional languages, allowing separate computations to share results when sub-terms are evaluated. Once a term is evaluated, the node of the graph representing the computation is updated with the value of the term. However, in many cases, no other computation requires this value, so the update is unnecessary. In this paper we take some steps towards an analysis for determining when these updates may be omitted.},
  cited = {23}
}