Skip to content

Add tryReadChan to Chan

Now that isEmptyChan is deprecated (#4154 (closed)) 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.

Trac metadata
Trac field Value
Version 7.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/base
Test case
Differential revisions
BlockedBy
Related
Blocking
CC mmitar@gmail.com
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information