~/talk

Environment-Sharing Analysis and Caller-Provided Environments for Higher-Order Languages

Talkat ICFP 2025 · 2025-10-12..10-18
links:none on file
links:none on file
links:none on file
links:none on file
name:Skye Soss
links:none on file
links:none on file
slides:none on file

An abstract-interpretation analysis discovers which free-variable bindings are always shared so callers can supply environments instead of heap-allocating closures, formalized in the Rocq proof assistant and shipped with evaluated artifacts. On benchmarks the analysis often matches the ground truth, yields up to 1.5× more precise sharing than lightweight closure conversion, and scales (a 30,000-line program runs in ≈20 ms). An instrumented interpreter shows the transformation meaningfully reduces dynamic allocations when decisions follow the paper’s heuristics.

AI-written summary · about

  1. 0:00Environment sharing analysis intro
  2. 1:02Optimizing closure space
  3. 3:133CPS compiler phases
  4. 4:15Tracking sharing info
  5. 7:42Abstract interpretation for sharing
  6. 9:26Precision and scalability of analysis
  7. 10:51Transforming with caller environments
  8. 14:02Heuristics for transformations
  9. 14:23Evaluating closure savings
  10. 15:26Frame pointers for closures
  11. 17:53Conclusion and future
  12. 18:34Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.