Proposal: Add tryReadChan to Chan

Mitar mmitar at
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 mailing list