haskell-distributed / distributed-process-platform

DEPRECATED (Cloud Haskell Platform) in favor of distributed-process-extras, distributed-process-async, distributed-process-client-server, distributed-process-registry, distributed-process-supervisor, distributed-process-task and distributed-process-execution
http://haskell-distributed.github.com
BSD 3-Clause "New" or "Revised" License
47 stars 17 forks source link

[DPP-65] AsyncChan should behave more like a... well, channel. #118

Open qnikst opened 9 years ago

qnikst commented 9 years ago

[Imported from JIRA. Reported by Tim Watson [Administrator] @hyperthunk) as DPP-65 on 2013-01-26 01:40:23] Currently AsyncChan is a one shot deal, unlike its cousin AsyncSTM. This is probably wrong however, in as much as the suffix 'Chan' makes it sound like a channel, whilst it behaves more like a synchronised cell or an MVar.

I think it would be cool if AsyncChan actually behaved like a channel, allowing multiple values to be streamed back to the caller but without them knowing any details about the implementation (i.e., we continue to hide the typed channel inside).

It'd also be nice if these could be composed, though perhaps that's another issue by itself.