Computer Science Department
School of Computer Science, Carnegie Mellon University


Selective Memoization

Umut A. Acar, Guy E. Blelloch, Robert Harper

January 2003

Keywords: Memoization, functional languages, incrememtal computing

We present a framework for applying memoization selectively. The framework provides programmer control over equality, space usage, and identification of precise dependences so that memoization 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 techniques.

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 programs that reveal their true data dependences when executed. The SML implementation cannot support this modal type system statically, but instead employs run-time checks to ensure correct usage of primitives.

31 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by