Control.Concurrent.Chan split into sending and receiving halves.
|Latest on Hackage:||0.2.0.1|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
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.