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 18 forks source link

AsyncChan should behave more like a... well, channel. #65

Closed hyperthunk closed 9 years ago

hyperthunk commented 11 years ago

Currently AsyncChan is a one shot deal, much like 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.

hyperthunk commented 9 years ago

Closing this as we're dropping AsyncChan shortly.