| | |
Summary: Selective Memoization #
Umut A. Acar Guy E. Blelloch Robert Harper
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
{umut,blelloch,rwh}@cs.cmu.edu
Abstract
We present a framework for applying memoization selectively. The
framework provides programmer control over equality, space us
age, and identification of precise dependences so that memoiza
tion 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 tech
niques.
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 pro
grams that reveal their true data dependences when executed. The
SML implementation cannot support this modal type system stati
cally, but instead employs runtime checks to ensure correct usage
|