Re: STM and Garbage Collection

2010-04-03 Thread Per Vognsen
You talk of transactions, "persistent in-memory" and garbage collection. Are you sure you understand what persistence means here? It's a matter of efficient structural sharing of data structures rather than persistence in the database sense. -Per On Sat, Apr 3, 2010 at 9:13 PM, David R. Smith wr

Re: STM and Garbage Collection

2010-04-03 Thread Per Vognsen
They are not completely orthogonal. In fact they work well together. One of the core assumptions in generational garbage collection is that data in higher generations rarely grow pointers to data in lower generations. This is often true in imperative programs. But absent implicit mutation in the f

Re: STM and Garbage Collection

2010-04-03 Thread verec
The two issues are orthogonal. Even if Clojure had been going for full copies to preserve immutability, the reason why the "old" copy would leak is only because your code would hold a reference to it. With structural sharing, those bits of "old" that are still retained in "new" are precisely thos

STM and Garbage Collection

2010-04-03 Thread David R. Smith
Hi All, I'm sold on the virtues of immutable data, but the notion of "persistent in-memory data structures" sounds kind of like a euphemism for a garbage collection leak. Could someone point me to a reference explaining how persistent transactional memory works in the context of garbage collectio