#4535: Add tryReadChan to Chan
---------------------------------+------------------------------------------
Reporter: mitar | Owner:
Type: proposal | Status: new
Priority: normal | Component: libraries/base
Version: 7.1 | Keywords:
Testcase: | Blockedby:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
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.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4535>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs