Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation 2000
DOI: 10.1145/349299.349341
|View full text |Cite
|
Sign up to set email alerts
|

Caching function calls using precise dependencies

Abstract: This paper describes the implementation of a purely functional programming language for building software systems. In this language, external tools like compilers and linkers are invoked by function calls. Because some function calls are extremely expensive, it is obviously important to reuse the results of previous function calls whenever possible. Caching a function call requires the language interpreter to record all values on which the function call depends. For optimal caching, it is important to record p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
27
0

Year Published

2003
2003
2015
2015

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 74 publications
(27 citation statements)
references
References 8 publications
0
27
0
Order By: Relevance
“…Similar techniques have been used for developing dynamic algorithms [15,24,32], and also for incremental computation [27]. Several works have looked at improving function memoization or caching efficiency [1,17,22] in the context of functional languages. Our memoization design is inspired by some of our earlier work on adapting memoization for use by Java-based return value prediction [25].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Similar techniques have been used for developing dynamic algorithms [15,24,32], and also for incremental computation [27]. Several works have looked at improving function memoization or caching efficiency [1,17,22] in the context of functional languages. Our memoization design is inspired by some of our earlier work on adapting memoization for use by Java-based return value prediction [25].…”
Section: Related Workmentioning
confidence: 99%
“…It can be useful in program understanding and analysis [13], isolating and examining functional or side effect free fragments [30], and verification in model checking [8]. When optimizing, improved method purity information allows for less conservative assumptions, and has been used to drive compiler optimization [9,19], novel hardware architectures [3], and caching or memoization of function calls [17].…”
Section: Introductionmentioning
confidence: 99%
“…The FreeBSD Ports collection does not use Make to handle nonpackage parts of the system, such as configuration files in /etc. On the other hand, Vesta (Heydon et al 2001), an integrated configuration management system that provides revision control as well as build management, has a purely functional build language -the System Description Language (Heydon et al 2000). Thus it is quite similar to Nix, and could be used to support purely functional deployment (but to our knowledge, has not been applied to this domain).…”
Section: Related Workmentioning
confidence: 99%
“…In [12], [7] the authors investigate the detection and bypassing of trivial instructions for improving performance and reducing energy consumption. Frameworks such as memoization [16], function caching [3] and value reuse [10] have been proposed to allow programs to reuse intermediate results by storing results of previously executed FP instructions and matching an instruction to check if it can be bypassed by reusing a previous result.…”
Section: B Silent Stores Value Locality and Reusementioning
confidence: 99%