tubes: Write stream processing computations with side effects in a series of tubes.

[ control, gpl, library, streaming ] [ Propose Tags ]

This package provides the Tube monad transformer, allowing any monad computation to become a stream processing pipeline. A computation of type Tube a b m r consumes values of type a and produces values of type b.

Specialized Tubes exist which allow for stream branching, merging, and other non-linear control. These are Source, Sink, and Channel.

Also provided are Pumps, the comonadic dual to Tubes. Examples are provided of how they can be used with Tubes but we have almost certainly only scratched the surface.

Examples and more information may be found at https://github.com/gatlin/tubes.

I seem to have trouble uploading packages where the documentation can be built correctly on Hackage. If I have (once again) messed this up, you can find Haddock documentation at https://niltag.net/tubes. I apologize for any inconvenience!

This should compile on GHC 7.8, but the problem is that previous attempts at setting the versions properly rendered Hackage unable to generate documentation. Hopefully I have this fixed but any advice is welcome.

Versions 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.2.1, 0.2.2.2, 0.2.2.3, 1.0.0.0, 1.0.0.1, 1.1.0.0, 2.0.0.0, 2.0.0.1, 2.1.0.0, 2.1.1.0
Dependencies base (>=4.8 && <5), comonad (>=5), contravariant (>=1.4), free (>=4.12), mtl (>=2.2.1), profunctors (>=5.2), semigroups (>=0.18.1), transformers (>=0.3) [details]
License GPL-3.0-only
Copyright 2015
Author Gatlin C Johnson
Maintainer gatlin@niltag.net
Category Control, Streaming
Home page https://github.com/gatlin/tubes
Source repo head: git clone https://github.com/gatlin/tubes
Uploaded by gatlin at Tue Aug 16 17:30:48 UTC 2016
Distributions NixOS:2.1.1.0
Downloads 3202 total (160 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees