Applicative caching: Programmer control of object sharing and lifetime in distributed implementations of applicative languages

Keller, R. M. and Sleep, M. R. (1986) Applicative caching: Programmer control of object sharing and lifetime in distributed implementations of applicative languages. ACM Transactions on Programming Languages and Systems, 8 (1). pp. 88-108.

Full text not available from this repository. (Request a copy)

Abstract

The “referential transparency” of applicative language expressions demands that all occurrences of an expression in a given context yield the same value. In principle, that value therefore needs to be computed only once. However, in recursive programming, a context usually unfolds dynamically, precluding textual recognition of multiple occurrences, so that such occurrences are recomputed. To remedy the lack, in applicative languages, of an ability to store and retrieve a computed value under programmer control, “caching functionals” are proposed which allow the programmer to selectively avoid recomputation without overt use of assignment. The uses and implementation of such mechanisms are discussed, including reasons and techniques for purging the underlying cache. Our approach is an extension of the early notion of “memo function”, enabling improved space utilization and a “building-block” approach.

Item Type: Article
Faculty \ School: Faculty of Science > School of Computing Sciences
Depositing User: EPrints Services
Date Deposited: 01 Oct 2010 13:42
Last Modified: 15 Dec 2022 02:12
URI: https://ueaeprints.uea.ac.uk/id/eprint/3720
DOI: 10.1145/800223.806772

Actions (login required)

View Item View Item