[Scheme'26] Regions as Continuation Marks

ACM SIGPLAN
110 views •

Regions as Continuation Marks (Video, Scheme 2026) Paulette Koronkevich, William J. Bowman (University of British Columbia, Canada; University of British Columbia, Canada) Abstract: Region-based memory management started as a compiler pass to optimize Standard ML programs. Garbage collection was expensive, manual memory management was unsafe, and so instead one infers a stack of \emph{memory regions} to enable the compiler to insert explicit memory allocation and deallocation instructions. The result of region inference is a ML program with lexically-scoped regions. Unfortunately, the stack-based region inference interferes with the correct behaviour of tail recursion: that tail recursion must run in constant space, and much work was required to correct their behaviour in practice. We show a formal connection between these lexical regions and \emph{continuation marks}, which elucidates the behaviour of regions with respect to tail calls, and provide insights into possible implementation techniques and new semantics. Continuation marks enable placing a value on the dynamic program frame, and were designed and implemented to behave correctly with respect to tail recursion. We provide a translation from regions to continuation marks and theorize what this connection could entail for both languages with region-based memory management and our favourite Schemes (and Racket) with continuation marks. Article: https://doi.org/10.1145/3830440.3832303 ORCID: https://orcid.org/0000-0003-0325-3305, https://orcid.org/0000-0002-6402-4840 Video Tags: Continuation marks, Memory regions, doi:10.1145/3830440.3832303, orcid:0000-0003-0325-3305, orcid:0000-0002-6402-4840 Presentation at the Scheme 2026 workshop, August 29, 2026, https://icfp26.sigplan.org/home/scheme-2026 Sponsored by ACM SIGPLAN.

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close