Oxidizing OCaml with Modal Memory Management (paper) (antonlorenzen.de)
from armchair_progamer@programming.dev to programming_languages@programming.dev on 24 May 03:14

This paper describes adding Rust-like ownership semantics to OCaml via the following “modes”.


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.

Another language with different modes is Granule.


threaded - newest