split-channel: Control.Concurrent.Chan split into sending and receiving halves.

[ concurrency, library, mit ] [ Propose Tags ]

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-safe 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 [RSS] [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]
License MIT
Copyright (c) 2012 Leon P Smith
Author Leon P Smith
Maintainer leon@melding-monads.com
Category Concurrency
Source repo head: git clone http://github.com/lpsmith/split-channel
this: git clone http://github.com/lpsmith/split-channel(tag v0.1.2.2)
Uploaded by LeonSmith at 2013-02-17T12:36:37Z
Distributions NixOS:0.2.0.1
Downloads 5287 total (28 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-22 [all 7 reports]

Modules

  • Control
    • Concurrent
      • Chan
        • Control.Concurrent.Chan.Split
          • Control.Concurrent.Chan.Split.Internal

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates