Results 1 
1 of
1
Region Analysis and the Polymorphic Lambda Calculus
 In Proc. of the 14th Annual IEEE Symposium on Logic in Computer Science
, 1999
"... We show how to translate the region calculus of Tofte and Talpin, a typed lambda calculus that can statically delimit the lifetimes of objects, into an extension of the polymorphic lambda calculus called F # . We give a denotational semantics of F # , and use it to give a simple and abstract proof o ..."
Abstract

Cited by 29 (0 self)
 Add to MetaCart
We show how to translate the region calculus of Tofte and Talpin, a typed lambda calculus that can statically delimit the lifetimes of objects, into an extension of the polymorphic lambda calculus called F # . We give a denotational semantics of F # , and use it to give a simple and abstract proof of the correctness of memory deallocation. 1 Introduction Implementations of modern programming languages divide dynamically allocated memory into two parts. The stack is used for data that has a simple lastin, firstout lifetime determined by block structure; the other part (often called the heap) is used for data whose lifetime extends beyond the scope of program blocks. The heap is periodically "garbage collected" to reclaim memory that is no longer needed. Tofte and Talpin's region calculus [23] attempts to unify these two styles of memory management. The region calculus divides memory into regions, and provides a local scoping mechanism for those regions. Every value created by the pro...