Regions as Continuation Marks
summary
Presents a concrete translation from regions into continuation marks and an interpreter that maps let-region to with-continuation-mark and region allocations to a per-region store. Shows the translation from regions to continuation marks is straightforward but that the naive at allocates fresh locations so tail-recursive argument updates still blow stack—constant-space tail calls do not automatically follow. Demonstrates one win: region-polymorphic closures can be stored in a mark and closure slots reclaimable when regions nest, and proposes changing the allocation semantics or adding a primitive to fix arguments.
AI-written summary · about
chapters (8)
- 0:00Regions and continuation marks
- 1:25Region memory basics
- 4:35Tail calls in regions
- 9:11Continuation marks intro
- 12:56Regions and continuation marks
- 19:18Naive translation challenges
- 20:44Summary and future
- 21:32Q&A
related talks
18mParallelism in a Region Inference Context
21mVirtualizing Continuations
37mContractions Are Abstractions - Towards Effective Memory Management in ReML
34mModular Storage Mode Analysis
19mFrom Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect ...
59mAn introduction to Continuation Passing Style (CPS)
08mLightning Talk: Designing a Language for Learning Continuations
18mRapid: Region-Based Pointer Disambiguation
