ACM Home Page
Please provide us with feedback. Feedback
Applicative caching
Full text PdfPdf (1.55 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 8 ,  Issue 1  (January 1986) table of contents
The MIT Press scientific computation series
Pages: 88 - 108  
Year of Publication: 1986
ISSN:0164-0925
Authors
Robert M. Keller  Univ. of Utah, Salt Lake City
M. R. Sleep  Univ. of East Anglia, Norwich, UK
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 28,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/5001.5004
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
2
 
3
BROWN, G. A new concept in programming. In Management and the Computer of the Future, M. Greenberger, Ed., Wiley, New York, 1962.
4
5
 
6
DIJKSTRA, E. W. Cooperating sequential processes. In Programming Languages, Academic Press, New York, 1968.
7
8
 
9
FRIEDMAN, D. P., AND WISE, D. S. CONS should not evaluate its arguments. In Automata, Languages, and Programming, Edinburgh University Press, 1976, 257-284.
 
10
FRIEDMAN, D. P., AND WISE, D.S. The impact of applicative programming on multiprocessing. IEEE Trans. Comput. C-27, 4 (Apr. 1978), 289-296.
 
11
GRISS, M.L. Efficient expression evaluation in sparse minor expansion, using hashing and deferred evaluation. In Hawaii International Conference on System Sciences, IEEE, New York, 1977.
12
 
13
HILDEN, J. Elimination of recursive calls using a small table of "randomly" selected function values. BIT 16, I (1976), 60-73.
 
14
HOARE, C. A.R. Recursive data structures. Int. J. Comput. Inf. Sc~ 4, 2 (1975).
 
15
KELLER, R.M. Denotational models for parallel programs with indeterminate operators. In Formal Description of Programming Concepts, E. J. Neuhold, Ed., North-Holland, Amsterdam, 1978, 337-366.
 
16
KELLER, R. M., LINDSTROM, C., AND PATIL, S. A loosely-coupled applicative multiprocessing system. In AFIPS Conference (June, 1979), 613-622.
 
17
KELLER, R. M., AND LINDSTROM, G. Hierarchical analysis of a distributed evaluator. In Proceedings International Conference on Parallel Processing, (Aug. 1980), IEEE, New York, 299-310.
18
 
19
KELLER, R.M. FEL (Function Equation Language) programmer's guide. AMPS Tech. Memo. 7, Dept. of Computer Science, Univ. of Utah, 1982.
 
20
KELLER, R. M., AND LINDSTROM, C. Approaching distributed database implementations through functional programming concepts. In Proceedings 5th International Conference on Distributed Computing Systems. (Denver, Colo., May 1985), IEEE, New York, 192-200.
 
21
LANDIN, P. J. The mechanical evaluation of expressions. Computer J. 6, 4 (Jan. 1964), 308-320.
22
 
23
LINDSTROM, G. Efficiency in nondeterministic control through nonforgetful backtracking. Tech. Rep. UUCS-77-114, Univ. of Utah, Oct. 1977.
 
24
 
25
 
26
MICHIE, D. 'Memo' functions and machine learning. Nature 218, (Apr. 1968), 19-22.
 
27
28
29
 
30
WADSWORTH, C.P. Semantics and pragmatics of the lambda-calculus. Ph.D. thesis, Univ. of Oxford, 1971.

CITED BY  13


REVIEW

"John A. Campbell : Reviewer"

In cases where it is relatively expensive in resources to compute functions, it may be advisable to expand the programmed versions of those functions to contain a store, or cache, of values already computed. Then, if the same argument is present  more...

Collaborative Colleagues:
Robert M. Keller: colleagues
M. R. Sleep: colleagues