split-channel: Control.Concurrent.Chan split into sending and receiving halves.
This module splits Control.Concurrent.Chan into sending and receiving halves, which allows the type system to more finely constrain program behavior. As a secondary benefit, messages written to channels with no receive ports associated with them can be reliably garbage collected.
In addition, this module incorporates several of clean-ups and additions
to the venerable Chan. Most notably, the deprecated thread-unsafe
functions have been removed, the ability to
duplicate Receive Ports
has been added, the
sendMany operation allows for multiple messages
to be sent atomically, and the
split operation turns a single
channel into two.
|Versions [faq]||0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.2.0.0, 0.2.0.1|
|Dependencies||base (>=4.3 && <5) [details]|
|Copyright||(c) 2012-2013 Leon P Smith|
|Author||Leon P Smith, Joey Adams|
|Source repo||head: git clone http://github.com/lpsmith/split-channel
this: git clone http://github.com/lpsmith/split-channel(tag v0.2.0.1)
|Uploaded||by LeonSmith at 2013-03-17T20:13:34Z|
|Downloads||5038 total (73 in the last 30 days)|
|Rating||(no votes yet) [estimated by Bayesian average]|
Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees