13 citations found. Retrieving documents...
R. M. Keller and M. R. Sleep. Applicative caching. ACM Trans. Program. Lang. Syst., 8(1):88-108, Jan. 1986.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Dynamic Programming via Static Incrementalization - Liu, Stoller (2002)   (13 citations)  (Correct)

....Department, State University of New York at Stony Brook, Stony Brook, NY 11794. Phone: 631 632 f8463,1627g. Email: fliu,stollerg cs.sunysb.edu. Memoization uses a mechanism that is separate from the original program to save the result of each function call or reduction as the program executes [1, 19, 20, 25, 27, 28, 40, 41, 45, 49, 51]. The idea is to keep a separate table of solutions to subproblems, modify recursive calls to rst look up in the table, and then, if the subproblem has been computed, use the saved result, otherwise, compute it and save the result in the table. This method has two advantages. First, the original ....

R. M. Keller and M. R. Sleep. Applicative caching. ACM Trans. Program. Lang. Syst., 8(1):88-108, Jan. 1986.


Dynamic Programming via Static Incrementalization - Liu, Stoller (2000)   (13 citations)  (Correct)

....Department, 215 Lindley Hall, Indiana University, Bloomington, IN 47405. Phone: 812 855 f4373,7979g. Email: fliu,stollerg cs.indiana.edu. 1 Memoization uses a mechanism that is separate from the original program to save the result of each function call or reduction as the program executes [1, 19, 20, 25, 27, 28, 40, 41, 45, 49, 51]. The idea is to keep a separate table of solutions to subproblems, modify recursive calls to rst look up in the table, and then, if the subproblem has been computed, use the saved result, otherwise, compute it and save the result in the table. This method has two advantages. First, the original ....

R. M. Keller and M. R. Sleep. Applicative caching. ACM Trans. Program. Lang. Syst., 8(1):88-108, Jan. 1986.


The Vesta Language for Configuration Management - Christine Hanna Roy (1993)   (13 citations)  (Correct)

....their results. This multi level caching scheme permits Vesta to build and rebuild large software systems efficiently since it maximizes the amount of work that does not need to be redone. Vesta caching has a superficial resemblance to the memoizing technique for functional languages [Hughes] Keller and Sleep] in that both store a function application and its result value in a table for later reuse. However, memoizing is manual, since a programmer must specify which functions are to be saved, and ephemeral, since memo tables don t last across different instances of the language evaluator. Vesta ....

R.M. Keller and R. Sleep. "Applicative caching", ACM Transactions on Programming Languages and Systems, 8(1), January 1986.


A Reconfigurable Data Flow Machine for Implementing.. - Christophe.. (1994)   (Correct)

....a large hypercube) d. Recomputing vs. Caching. It is more than likely that in a large program, a function will be invoked several times with the same arguments. If the function is complex and slow to execute, we might wish to have its result made available through caching. Keller and Sleep [7] discuss important issues introduced by caching in Functional Programming. Counting on the fact that it is possible to design a cache (smart memory in the present system) such that the lookup (including data transfer) is faster than computing, we decided to cache each function type in the program. ....

Keller, R.M., and Sleep, M.R. Applicative Caching. In Proceedings of the ACM Conference on Functional Programming Language Computer Architecture, 1981, 131-140.


Tabulation of Functions in Definite Clause Programs - Barklund (1994)   (2 citations)  (Correct)

....In a programming language with referential transparency, an expression can be replaced with any other expression that has the same meaning. Tabulation in functional programming In functional programming languages this has been exploited through a technique called tabulation or memoing [6, 15, 18, 23]. This means to maintain, for selected functions, a table of pairs of domain codomain elements that have already been computed. Further applications of the function to values for which there are cached results can be solved by simple table look ups. The motivation is to speed up execution of ....

....tabulation procedures never reclaim storage occupied by tables. This is a serious problem when using tabulation in practice because the tables can become very large and may contain much information that is unlikely to ever be accessed again. Unlike OLDT resolution, but like applicative caching [18], OLDTF resolution allows table entries to be removed. The effect on the algorithm is simply that an answer tuple or none is recomputed. The termination properties will be affected if table entries are removed too often (for example, if all entries are removed on every iteration through the ....

[Article contains additional citation context not shown here]

Keller, R. M. and Sleep, M. R., Applicative Caching, ACM Trans. Program. Lang. Syst., 8(1):88--108 (1986).


Building Software by Deduction: Why and How - Singleton, Brereton (1992)   (1 citation)  (Correct)

....of DECL permits the construction of generic product releases. 5. 4 Memoisation Wherever referential transparency prevails, a particular function call or expression should always yield the same result, and it is possible to record (memoise) and reuse the result of any particular evaluation [Kell86]. But if a procedure has side effects, or accesses global variables, then it is infeasible to capture and reuse the impact (destructive or otherwise) of any particular call. Declarative languages, whether deductive, functional or relational, are amenable to memoisation, and DERIVE employs it to ....

R. M. Keller and M. R. Sleep, "Applicative Caching", ACM Transactions on Programming Languages and Systems, vol. 8, no. 1, pp. 88-108 (Jan 1986).


Static Caching for Incremental Computation - Liu, Stoller, Teitelbaum (1998)   (Correct)

.... method contrasts with previous work on caching, which either relies on a fixed set of rules [Allen et al. 1981; Paige and Koenig 1982] applies only to programs with certain properties or schemas [Bird 1980; Cohen 1983; Pettorossi 1984; 1987] requires program annotations [Hoover 1992; Keller and Sleep 1986; Sundaresh and Hudak 1991] etc. The dependence analysis for pruning in Stage III uses domain projections to specify specific components of compound values, rather than just heads or tails of list values, and thus complements existing methods for such analyses [Hughes 1990; Jones and Le M etayer ....

....studying specialized cache strategies for classes of problems, and adding annotations or specifications to subject programs to provide hints to the cache strategies. An example of the former is the stable decomposition scheme of Pugh and Teitelbaum [1989] Examples of the latter include work by Keller and Sleep [1986], which uses annotations for applicative languages, work by Sundaresh and Hudak [Sundaresh 1991; Sundaresh and Hudak 1991] which decides what to cache based on given input partitions of programs, and work by Hoover [1992] which uses annotations for an imperative language. The pros and cons are ....

Keller, R. M. and Sleep, M. R. 1986. Applicative caching. ACM Trans. Program. Lang. Syst. 8, 1 (Jan.), 88--108.


Practical Memoisation for Prolog Applications - Singleton, Brereton (1993)   (Correct)

....local state (e.g. destructive update of variables) Such results can be very difficult to isolate and record, and hence there are no general memoisation schemes for imperative languages. In declarative languages, however, memoisation is a viable and attractive technique for improving performance. [Kell86] proposes and assesses memoisation techniques for improving the execution efficiency of functional programs, and [Warr92] gives a similar, albeit less formal, treatment for Prolog. The database community has considered memoisation in the guise of materialised views or concrete views [Shmu86] ....

R. M. Keller and M. R. Sleep, "Applicative Caching", ACM Transactions on Programming Languages and Systems, vol. 8, no. 1, pp. 88-108 (Jan 1986).


Dynamic Programming via Static Incrementalization - Liu, Stoller (1999)   (13 citations)  (Correct)

.... [4, 5] Given a straightforward recursion, there are two traditional ways to achieve the effect of dynamic programming [14] memoization [34] and tabulation [5] Memoization uses a mechanism that is separate from the original program to save the result of each function call or reduction [34, 19, 22, 35, 24, 43, 45, 39, 25, 18, 1]. The idea is to keep a separate table of solutions to subproblems, modify This work is supported in part by NSF under Grant CCR 9711253 and ONR under Grant N0014 99 1 0132. recursive calls to first look up in the table, and then, if the subproblem has been computed, use the saved result, ....

R. M. Keller and M. R. Sleep. Applicative caching. ACM Trans. Program. Lang. Syst., 8(1):88--108, Jan. 1986.


Dynamic Programming via Static Incrementalization - Liu, Stoller (1999)   (13 citations)  (Correct)

.... [4, 5] Given a straightforward recursion, there are two traditional ways to achieve the effect of dynamic programming [13] memoization [32] and tabulation [5] Memoization uses a mechanism that is separate from the original program to save the result of each function call or reduction [32, 18, 21, 33, 23, 41, 43, 37, 17, 1]. The idea is to keep a separate table of solutions to subproblems, modify recursive calls to first look up in the table, and then, if the subproblem has been computed, use the saved result, otherwise, compute it and save the result in the table. This method has two advantages. First, the original ....

R. M. Keller and M. R. Sleep. Applicative caching. ACM Trans. Program. Lang. Syst., 8(1):88--108, Jan. 1986.


The Database Challenge: Retain Declarativity Generalise.. - Singleton, Brereton (1993)   (Correct)

....Oracle V6 will compute closures of non cyclic graphs only, by a non standard extension to SQL. 3. 9 SQL 6 From a deductive (or, more generally, a declarative) viewpoint, views are rules, and materialisation is an example of memoisation, also known as memo functions [Ster86] applicative caching [Kell86], rule support [Shmu86] extension tables [Scio86] and lemmas [Hogg84] Static analysis of a set of views can show the potential impact of table changes upon materialised views: with the field of artificial intelligence (AI) this has been studied as truth maintenance [Doyl79] 3.9 SQL This ....

R. M. Keller & M. R. Sleep, "Applicative Caching", ACM Transactions on Programming Languages and Systems, vol. 8, no. 1, pp. 88-108 (Jan 1986).


The Gabriel 'Triangle' Benchmark at Warp Speed - Baker (1992)   (Correct)

No context found.

Keller, R.M., and Sleep, M.R. "Applicative Caching". ACM TOPLAS 8,1 (Jan. 1986),88-108.


The Boyer Benchmark at Warp Speed - Baker (1992)   (3 citations)  (Correct)

No context found.

Keller, R.M., and Sleep, M.R. "Applicative Caching". ACM TOPLAS 8,1 (Jan. 1986),88-108.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC