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

  • Authors:
  • Mads Tofte;Jean-Pierre Talpin

  • Affiliations:
  • Department of Computer Science (DIKU), University of Copenhagen, Universitetsparken 1, DK-2100, Copenhagen ø, Denmark;European Computer-Industry Research Center, (ECRC GmbH), Arabella Straβe 17, D-81925 München

  • Venue:
  • POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a translation scheme for the polymorphically typed call-by-value &lgr;-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.