<p>All of this really feels like what STM is good at. It might help if you explained why TChans are not well suited to your task.</p>
<div class="gmail_quote">On Nov 26, 2010 6:51 PM, "Mitar" <<a href="mailto:mmitar@gmail.com">mmitar@gmail.com</a>> wrote:<br type="attribution">> Hi!<br>> <br>> Now that isEmptyChan is deprecated (#4154) it would be useful to add<br>
> tryReadChan. It seems it is possible to define it so that it does not<br>> block like isEmptyChan. This is because semantics is a bit different:<br>> tryReadChan is allowed to return Nothing also when Chan is non-empty,<br>
> but it would block. Contrary, isEmptyChan is expected that it would<br>> return False only if Chan is really empty.<br>> <br>> I have defined also two new MVar functions which helped me<br>> implementing tryReadChan: tryReadMVar and tryModifyMVar. Probably it<br>
> would be useful to make them public.<br>> <br>> Please comment. I propose three weeks for discussion.<br>> <br>> I have also opened a ticket:<br>> <br>> <a href="http://hackage.haskell.org/trac/ghc/ticket/4535">http://hackage.haskell.org/trac/ghc/ticket/4535</a><br>
> <br>> and attached a ptach there with working implementation. It would be<br>> useful to run it against some tests.<br>> <br>> (I am sorry that patch is not in darcs format.)<br>> <br>> <br>> Mitar<br>
> _______________________________________________<br>> Libraries mailing list<br>> <a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>> <a href="http://www.haskell.org/mailman/listinfo/libraries">http://www.haskell.org/mailman/listinfo/libraries</a><br>
</div>