3 ms·
I'd agree that mutability is an issue with GC, in fact some LISPs like Losak are deterministic simply by being entirely functional: http://losak.sourceforge.ne
by alexisread 7y ago
I'd agree that mutability is an issue with GC, in fact some LISPs like Losak are deterministic simply by being entirely functional:
http://losak.sourceforge.net/ 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_2007.pdf 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.