paperbot · PL 论文追踪

RSS

Oxidizing OCaml with Modal Memory Management

ICFP 8(ICFP)2024引用 22
Anton Lorenzen, Leo White, Stephen Dolan, Richard A. Eisenberg, Sam Lindley

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Programmers can often improve the performance of their programs by reducing heap allocations: either by allocating on the stack or reusing existing memory in-place. However, without safety guarantees, these optimizations can easily lead to use-after-free errors and even type unsoundness. In this paper, we present a design based on modes which allows programmers to safely reduce allocations by using stack allocation and in-place updates of immutable structures. We focus on three mode axes: affinity, uniqueness and locality. Modes are fully backwards compatible with existing OCaml code and can be completely inferred. Our work makes manual memory management in OCaml safe and convenient and charts a path towards bringing the benefits of Rust to OCaml.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{LorenzenWDEL24,
  title = {Oxidizing OCaml with Modal Memory Management},
  author = {Anton Lorenzen and Leo White and Stephen Dolan and Richard A. Eisenberg and Sam Lindley},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {ICFP},
  year = {2024},
  doi = {10.1145/3674642}
}