The tubes package

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.



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

If I managed to upload another faulty package that does not build correctly, Hackage documentation is also available at 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.


Change logNone available
Dependenciesbase (>=4.6 && <5), comonad, free (>=4.12), mtl, transformers (>=0.3) [details]
AuthorGatlin C Johnson
CategoryControl, Streaming
Home page
Source repositoryhead: git clone
UploadedFri Jul 10 21:04:14 UTC 2015 by gatlin




Maintainers' corner

For package maintainers and hackage trustees