You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We introduce Perceus, an algorithm for precise reference counting with
reuse and specialization. Starting from a functional core language with
explicit control-flow, Perceus emits precise reference counting
instructions such that programs are garbage free, where only live
references are retained. This enables further optimizations,
like reuse analysis that allows for guaranteed in-place updates at
runtime. This in turn enables a novel programming paradigm that we call functional but in-place (FBIP). Much like tail-call optimization
enables writing loops with regular function calls, reuse analysis enables
writing in-place mutating algorithms in a purely functional way. We give
a novel formalization of reference counting in a linear resource
calculus, and prove that Perceus is sound and garbage free. We show
evidence that Perceus, as implemented in Koka, has good performance
and is competitive with other state-of-the-art memory collectors.
The text was updated successfully, but these errors were encountered:
Perceus: Garbage Free Reference Counting with Reuse
Alex Reinking Ningning Xie Leonardo de Moura Daan Leijen
https://www.microsoft.com/en-us/research/uploads/prod/2020/11/perceus-tr-v1.pdf
We introduce Perceus, an algorithm for precise reference counting with
reuse and specialization. Starting from a functional core language with
explicit control-flow, Perceus emits precise reference counting
instructions such that programs are garbage free, where only live
references are retained. This enables further optimizations,
like reuse analysis that allows for guaranteed in-place updates at
runtime. This in turn enables a novel programming paradigm that we call
functional but in-place (FBIP). Much like tail-call optimization
enables writing loops with regular function calls, reuse analysis enables
writing in-place mutating algorithms in a purely functional way. We give
a novel formalization of reference counting in a linear resource
calculus, and prove that Perceus is sound and garbage free. We show
evidence that Perceus, as implemented in Koka, has good performance
and is competitive with other state-of-the-art memory collectors.
The text was updated successfully, but these errors were encountered: