Applicative caching
- 2 January 1986
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 8 (1) , 88-108
- https://doi.org/10.1145/5001.5004
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.Keywords
This publication has 15 references indexed in Scilit:
- Applicative cachingPublished by Association for Computing Machinery (ACM) ,1981
- Tabulation Techniques for Recursive ProgramsACM Computing Surveys, 1980
- A Transformation System for Developing Recursive ProgramsJournal of the ACM, 1977
- Elimination of recursive calls using a small table of “randomly” selected function valuesBIT Numerical Mathematics, 1976
- Recursive data structuresInternational Journal of Parallel Programming, 1975
- “Memo” Functions and Machine LearningNature, 1968
- The next 700 programming languagesCommunications of the ACM, 1966
- Recursion and iterationCommunications of the ACM, 1965
- The Mechanical Evaluation of ExpressionsThe Computer Journal, 1964
- Trie memoryCommunications of the ACM, 1960