kirancodes.me
To Proof Maintenance & Beyond!
POPL 1994★ Most Influential POPL Paper (awarded 2004)

Implementation of the Typed Call-by-Value lambda-Calculus using a Stack of Regions

Mads Tofte, Jean-Pierre Talpin

Abstract

We present a translation scheme for the polymorphically typed call-by-value λ-calculus. All runtime values, including function closures, are put into regions. The store consists of a stack of regions. Region inference and effect inference are used to infer where regions can be allocated and de-allocated. Recursive functions are handled using a limited form of polymorphic recursion. The translation is proved correct with respect to a store semantics, which models as a region-based run-time system. Experimental results suggest that regions tend to be small, that region allocation is frequent and that overall memory demands are usually modest, even without garbage collection.

Related papers