Applicative caching

Robert M. Keller, M. Ronan Sleep

Research output: Contribution to journalArticlepeer-review

18 Citations (Scopus)


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.
Original languageEnglish
Pages (from-to)88-108
Number of pages21
JournalACM Transactions on Programming Languages and Systems
Issue number1
Publication statusPublished - 1986

Cite this