tubes: Effectful, iteratee-inspired stream processing based on a free monad.

[ 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.

Tubes are coroutines which can suspend computation to yield an intermediate value or continue execution by requesting an upstream value.

Examples and more information may be found at

Versions [faq],,,,,,,,,,,,,
Dependencies base (>1 && <1), comonad, free (>=4.12), mtl, transformers (>=0.3) [details]
License GPL-3.0-only
Copyright 2015
Author Gatlin C Johnson
Revised Revision 1 made by AdamBergmark at Sun Jun 21 02:58:41 UTC 2015
Category Control, Streaming
Home page
Source repo head: git clone
Uploaded by gatlin at Fri Jun 12 00:20:57 UTC 2015
Distributions NixOS:
Downloads 5317 total (330 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-08 [all 6 reports]


  • Tubes


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees