It is true that you can get cyclical refs higher up in the language even with functional code though, and at some level you need a cycle checker.
There is another type of managed memory not talked about much, and that's the model used by Composita- RAII but with defined message interfaces between modules, such that you can deterministically allocate memory for that:
http://losak.sourceforge.net/
It is true that you can get cyclical refs higher up in the language even with functional code though, and at some level you need a cycle checker.
There is another type of managed memory not talked about much, and that's the model used by Composita- RAII but with defined message interfaces between modules, such that you can deterministically allocate memory for that:
http://concurrency.ch/Content/publications/Blaeser_ETH_Diss_...
It looks to be the best way of doing deterministic performant memory management, though you'll need a cycle checker in the language runtime.