Applicative caching

  • Authors:
  • Robert M. Keller;M. R. Sleep

  • Affiliations:
  • Univ. of Utah, Salt Lake City;Univ. of East Anglia, Norwich, UK

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

Abstract

The “referential transparency” principle of applicative language expressions stipulates that a single value exists for all occurrences of an expression in a given context (where a context is a set of bindings of variables to values). In principle, each such value therefore need to be computed only once. However, in applicative language systems supporting recursive programming or tasking notions, the bindings are not all precomputed and explicit. As a result, textual recognition of all multipleoccurrences is precluded, with the unfortunate consequence that such occurrences are recomputed. We elaborate upon the early notion of “memo function” for solving this problem. We suggest syntactic and semantic constructs providing programmer control for avoiding recomputation, which is incorporated into a “building-block” approach.