
On Fri, Aug 17, 2018, at 06:06, Simon Peyton Jones wrote:
Reasonable questions -- maybe put them on the GitHub thread so that Arnaud can respond.
| 2. Am I correct in understanding that the only way to guarantee resource | safety in this proposal is to write all allocation functions in CPS with a | linear continuation? If so, this seems to be a substantial divergence from | the intuitive notion of type safety.
It's more modular than that. In the paper we give the API for mutable arrays. Yes, the ability to do in-place update on those arrays depends on that API; the type system along does not guarantee it. It's the type system plus the API. But its guarantees do not depend on *other* allocators.
Interesting point about modularity. The issue really does seem to come down to the allocation functions. I suggested in my GitHub comment that perhaps we could concoct a warning to identify suspicious allocation functions. I think that would pretty much nullify this concern.