There are two primary higher-level use-cases for this library:
Merge multipleStreams together.
A conceptualStream-based equivalent toparMap (albeitutilising concurrency rather than true parallelism).
However, low-level functions are also exposed so you can constructyour own methods of concurrently usingStreams (and there are alsonon-Stream-specific functions if you wish to use it with other datatypes).
For package maintainers and hackage trustees
Candidates
| Versions[RSS] | 0.1.0.0,0.2.0.0,0.3.0.0,0.3.0.1,0.3.1.0,0.3.1.1,0.3.1.2,0.3.1.3 (info) |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | base (>=4 && <5),exceptions (>=0.6 && <0.11),lifted-async (>=0.9.3 && <0.11),monad-control (>=1 && <2),stm (>=2.4 && <2.6),streaming (>=0.1.4.0 && <0.3),streaming-with (>=0.1.0.0 && <0.3),transformers-base [details] |
| Tested with | ghc ==7.10.2, ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.1, ghc ==8.6.5, ghc ==8.8.1 |
| License | MIT |
| Copyright | Ivan Lazar Miljenovic |
| Author | Ivan Lazar Miljenovic |
| Maintainer | Ivan.Miljenovic@gmail.com |
| Uploaded | byIvanMiljenovic at2019-05-13T06:02:59Z |
| Category | Data,Streaming |
| Source repo | head: git clonehttps://github.com/haskell-streaming/streaming-concurrency.git |
| Distributions | |
| Reverse Dependencies | 1 direct, 1 indirect [details] |
| Downloads | 4462 total (15 in the last 30 days) |
| Rating | (no votes yet)[estimated byBayesian average] |
| Your Rating |
|
| Status | Docs available[build log] Last success reported on 2019-05-13[all 1 reports] |
Concurrency for thestreaming ecosystem
There are two primary higher-level use-cases for this library:
Merge multipleStreams together.
A conceptualStream-based equivalent toparMap (albeitutilising concurrency rather than true parallelism).
However, low-level functions are also exposed so you can constructyour own methods of concurrently usingStreams (and there are alsonon-Stream-specific functions if you wish to use it with other datatypes).
Conceptually, the approach taken is to consider a typicalcorrespondence system with an in-basket/tray for receiving messagesfor others, and an out-basket/tray to be later dealt with. Inputs arethus provided into theInBasket and removed once available from theOutBasket.
The code here is heavily based upon -- and borrows the underlyingBuffer code from -- Gabriel Gonzalez'spipes-concurrency. Itdiffers from it primarily in being more bracket-oriented rather thanproviding aspawn primitive, thus not requiring explicit garbagecollection.
Another main difference is that the naming of theinput andoutputtypes has been switched around:pipes-concurrency seems to considerthem from the point of view of the supplying/consumingPipes,whereas here they are considered from the point of view of theBuffer itself.