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

Mads Tofte, Jean-Pierre Talpin
1994 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94  
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 a regionbased run-time system.
more » ... perimental 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.
doi:10.1145/174675.177855 dblp:conf/popl/TofteT94 fatcat:q6zjer3bmrczfjyiqr2qqabroa