> I am also curious about the shared heap, the implication from your post is > that you are still sticking to the "one heap per thread" model and that we > will continue to restrict the sharing of memory between threads. Is that the > case?
No. The heap is now shared as it's done in C++, C#, Rust, etc etc. A shared heap allows us to _move_ subgraphs between threads without the deep copies but the subgraph must be "isolated" ensuring the freedom of data races and at the same time allowing us to use non-atomic reference counting operations. How to ensure this "isolation" at compile-time was pioneered by Pony and we can do it too via our `owned ref` syntax. However, we will likely do it at runtime because it's simpler and a variation of the "cycle collection" algorithm. The pieces fit together in a marvelous way. :-)
