Iowa Type Theory Commute

Region-Based Memory Management

June 21, 2022 Aaron Stump Season 3 Episode 32
Region-Based Memory Management
Iowa Type Theory Commute
More Info
Iowa Type Theory Commute
Region-Based Memory Management
Jun 21, 2022 Season 3 Episode 32
Aaron Stump

I discuss the idea of statically typed region-based memory management, proposed by Tofte and Talpin.  The idea is to allow programmers to declare explicitly the region from which to satisfy individual allocation requests.  Regions are created in a statically scoped way, so that after execution leaves the body of the region-creation construct, the entire region may be deallocated.  Type inference is used to make sure that no dangling pointers are dereferenced (after the associated region is deallocated).  This journal paper about the idea is not easy reading, but has a lot of good explanations in and around all the technicalities.  Even better, I found, is this paper about region-based memory management in Cyclone.  There are lots of intuitive explanations of the ideas, and not so much gory technicality.

Show Notes

I discuss the idea of statically typed region-based memory management, proposed by Tofte and Talpin.  The idea is to allow programmers to declare explicitly the region from which to satisfy individual allocation requests.  Regions are created in a statically scoped way, so that after execution leaves the body of the region-creation construct, the entire region may be deallocated.  Type inference is used to make sure that no dangling pointers are dereferenced (after the associated region is deallocated).  This journal paper about the idea is not easy reading, but has a lot of good explanations in and around all the technicalities.  Even better, I found, is this paper about region-based memory management in Cyclone.  There are lots of intuitive explanations of the ideas, and not so much gory technicality.