On Wednesday, 9 January 2013 at 20:16:04 UTC, Andrei Alexandrescu wrote:
On 1/9/13 12:09 PM, Mehrdad wrote:
It's memory-safe too. What am I missing here?

What you're missing is that you define a store that doesn't model object references with object addresses. That's what I meant by "references are part of the language". If store is modeled by actual memory (i.e. accessing an object handle takes you to the object), you must have GC for the language to be safe. If store is actually indirected and gives up on the notion of address, then sure you can implement safety checks. The thing is everybody wants for references to model actual object addresses; indirect handles as the core abstraction are uninteresting.


Andrei

Quote from OpenBSD's malloc implementation:
"On a call to free, memory is released and unmapped from the process address space using munmap."

I don't see why this approach is less safe than a GC... in fact, I claim it's safer, because it's far simpler to implement, and thus less likely to contain bugs and in addition it's easy to make performance vs safety trade-offs, simply by linking with another memory-allocator.

Reply via email to