An implementation technique for database query languages
ACM Transactions on Database Systems (TODS)
Experience with an applicative string processing language
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Recursive programming through table look-up
SYMSAC '76 Proceedings of the third ACM symposium on Symbolic and algebraic computation
Applications of feedback in functional programming
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
A relational database machine based on functional programming concepts
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Applications of feedback in functional programming
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Hi-index | 0.00 |
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.