Proposal: Add tryReadChan to Chan
mmitar at gmail.com
Fri Nov 26 19:51:03 EST 2010
Now that isEmptyChan is deprecated (#4154) it would be useful to add
tryReadChan. It seems it is possible to define it so that it does not
block like isEmptyChan. This is because semantics is a bit different:
tryReadChan is allowed to return Nothing also when Chan is non-empty,
but it would block. Contrary, isEmptyChan is expected that it would
return False only if Chan is really empty.
I have defined also two new MVar functions which helped me
implementing tryReadChan: tryReadMVar and tryModifyMVar. Probably it
would be useful to make them public.
Please comment. I propose three weeks for discussion.
I have also opened a ticket:
and attached a ptach there with working implementation. It would be
useful to run it against some tests.
(I am sorry that patch is not in darcs format.)
More information about the Libraries