DEV Community


Discussion on: 🚀 Demystifying memory management in modern programming languages

juancarlospaco profile image
Juan Carlos


flat reference counting with move semantics and destructors with single ownership,
optimized with sink and lent annotations for zero-copy all the way is annotated,
basically it is like a shared heap with subgraphs with a single owner,
all this is done at compile-time, and ownership can be checked at run-time too.

Not really a GC despite --gc:.

Not really the same as Swift and ObjectiveC lang ARC because those can not handle cycles.

Not really Atomic despite ARC,
it wont need atomic reference counting,
a graph is always owned by a single owner,
then no need to make the reference counting atomic
(real atomic is known to be kinda slow).

Thread Thread
deepu105 profile image
Deepu K Sasidharan Author

Well, in that case, it's just bad grouping coz ARC is not GC. And seems these are buried in the docs somewhere.