<html><body bgcolor="#FFFFFF"><div><br><br>On Sep 28, 2010, at 6:36 PM, Tom Hawkins &lt;<a href="mailto:tomahawkins@gmail.com">tomahawkins@gmail.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div><span>Thanks for the responses, but I think I should explain a bit more.</span><br><span>I'm not interested in being able to read the live value of a TVar at</span><br><span>any arbitrary time (via. unsafeIOToSTM). &nbsp;But rather I would like</span><br><span>looslyReadTVar to have exactly the same semantics as readTVar, except</span><br><span>that the STM runtime would not reject the transaction if the TVar is</span><br><span>modified by another transaction before the atomic commit takes place.</span><font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#0023A3"><br></font></font></div></blockquote><div><br></div>Given the current implementation, I think the easiest way to get those semantics is to lift the
 untracked readTVarIO into STM with unsafeIOToSTM.<br>

      </body></html>