
28 Sep
2010
28 Sep
'10
9:15 a.m.
Excerpts from Romain Demeyer's message of Tue Sep 28 09:06:53 -0400 2010:
That's what we want, but what is the explanation of this behavior? STM is designed to be optimistic, not blocking. So, does it means that the "value" is evaluated at "commit-time"? Do you know some problems that are related or do you know some works that can be useful at this subject?
STM's interface is lazy; so you have to tell Haskell when to evaluate computationally expensive thunks, otherwise it will wait till the last possible moment. This is a common trip up point for concurrency programming. Don Stewart wrote strict-concurrency, which is a strict version of MVars and Chans, though I don't see a strict STM class. Edward