Implementation of the typed call-by-value λ-calculus using a stack of regions

Mads Tofte, Jean-Pierre Talpin

1994 · 335 citations · 21 references

DOIFull text

Open access

Concepts

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.

References

21