16 Nov
2009
16 Nov
'09
4:31 a.m.
On Sun, 15 Nov 2009, Isaac Dupree wrote:
hmm, I looked at the code. I don't quite understand lazy ST, but I don't think that version you made is correct. The writes (and reads) really may not be re-ordered based on which data is demanded when. I think the distinctive thing about lazy ST is that the whole computation doesn't have to be executed before returning a result (so you can return an infinite list/computation, like, do{ a <- something; as <- recur; return (a:as) } ). But I can't figure out how to implement the correct behavior... (or if I'm just confused)...
Thank you for spotting the problem so quickly. I have pushed a patch that hopefully solves the problem.