ACM Home Page
Please provide us with feedback. Feedback
Selective memoization
Full text PdfPdf (153 KB)
Source ACM SIGPLAN Notices archive
Volume 38 ,  Issue 1  (January 2003) table of contents
Pages: 14 - 25  
Year of Publication: 2003
ISSN:0362-1340
Also published in ...
Authors
Umut A. Acar  Carnegie Mellon University, Pittsburgh, PA
Guy E. Blelloch  Carnegie Mellon University, Pittsburgh, PA
Robert Harper  Carnegie Mellon University, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 68,   Citation Count: 14
Additional Information:

abstract   references   cited by   index terms   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/640128.604133
What is a DOI?

ABSTRACT

We present a framework for applying memoization selectively. The framework provides programmer control over equality, space usage, and identification of precise dependences so that memoization can be applied according to the needs of an application. Two key properties of the framework are that it is efficient and yields programs whose performance can be analyzed using standard techniques.We describe the framework in the context of a functional language and an implementation as an SML library. The language is based on a modal type system and allows the programmer to express programs that reveal their true data dependences when executed. The SML implementation cannot support this modal type system statically, but instead employs run-time checks to ensure correct usage of primitives.


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
U. A. Acar, G. E. Blelloch, and R. Harper. Selective memoization. Technical Report CMU-CS-02-194, Carnegie Mellon University, Computer Science Department, Dec. 2002.
 
4
 
5
 
6
A. W. Appel and M. J. R. Gonçcalves. Hash-consing garbage collection. Technical Report CS-TR-412-93, Princeton University, Computer Science Department, 1993.
 
7
8
9
 
10
11
12
13
14
 
15
J. Hilden. Elimination of recursive calls using a small table of randomly selected function values. BIT, 16(1):60--73, 1976.
16
 
17
 
18
S. P. Jones. The Implementation of Functional Programming Languages. Prentice-Hall, 1987.
 
19
20
 
21
J. McCarthy. A Basis for a Mathematical Theory of Computation. In P. Braffort and D. Hirschberg, editors, Computer Programming and Formal Systems, pages 33--70. North-Holland, Amsterdam, 1963.
 
22
D. Michie. 'memo' functions and machine learning. Nature, 218:19--22, 1968.
 
23
J. Mostov and D. Cohen. Automating program speedup by deciding what to cache. In Proceedings of the Ninth International Joint Conference on Artificial Intelligence, pages 165--172, Aug. 1985.
 
24
T. Murphy, R. Harper, and K. Crary. The wizard of TILT: Efficient(?), convenient and abstract type representations. Technical Report CMU-CS-02-120, School of Computer Science, Carnegie Mellon University, Mar. 2002.
 
25
 
26
 
27
M. Pennings. Generating Incremental Attribute Evaluators. PhD thesis, University of Utrecht, Nov. 1994.
 
28
 
29
 
30
 
31
 
32
W. Pugh. Incremental computation via function caching. PhD thesis, Department of Computer Science, Cornell University, 1987.
33
34
35
36
37

CITED BY  14

Collaborative Colleagues:
Umut A. Acar: colleagues
Guy E. Blelloch: colleagues
Robert Harper: colleagues