Hey, I picked that thread up through LtU, and in the thread you mentioned that you had a new blog there too, so that brought me here.
Interesting thread; I do dabble in Erlang. You mention that Erlang processes each have their own separate heap, and that there are no inter-process pointers. The trick reminds me of stories my professors have that back in the day, it was standard practice to simply reboot the computer when memory ran out instead of letting the collector do it's work.
My understanding is that Erlang processes, at least on a single node, share a common heap and pass messages via pointers. Wait... that's a ./configure option, IIRC, so I guess I answered my own question. Which option is most often used in actual deployments?
I suppose you could have a many-to-one function from processes to heaps, using an option to spawn to specify a heap, allowing the programmer to use both models in conjunction.
Anyway, here's a few of my journal entries you might enjoy:
journey to unemployability,
queues, and
concurrency.
Take Care.