A proposal for a resource-management model for OCaml


Sorry for the late reply… The nice retrospective on region-based memory management you provide as your first link does a good job at explaining the drawbacks of region inference, which I understand are commonly considered show-stoppers for any application to OCaml (unpredictability, lack of solution for separate compilation…). Even if one gives up on the idea of region inference, the idea of region (or arena) allocation does not quite fit the proposal, given that a lot of expressiveness comes from the hypothesis that you can move resources. So I do not think that their benchmarks are meaningful for this proposal, given that it does not contain anything as efficient as deallocating a whole arena at once.


Interested people can find slides from my talk from Monday at Inria Paris (updated to take feedback into account).


@gadmm on slide 35 it’s better to present a direct link . I had some issues with googling the italic text.

Ah, you have a right paper in the end…


I’m not going to pretend like I’m an expert here.

Most of the criticisms of region based memory allocation are that it’s prone to space leaks, and most languages don’t have the type system to support it, and the performance boost while significant isn’t worth all of the issues it brings, so like while it should be an add on library, or .

Those two issues, often force implementers to use it along with GC.