The conduit package

[ Tags: conduit, data, library, mit ] [ Propose Tags ]

Conduits are an approach to the streaming data problem. It is meant as an alternative to enumerators/iterators, hoping to address the same issues with different trade-offs based on real-world experience with enumerators. For more information, see http://www.yesodweb.com/book/conduit.

Release history:

0.3
ResourceT has been greatly simplified, specialized for IO, and moved into a separate package. Instead of hard-coding ResourceT into the conduit datatypes, they can now live around any monad. The Conduit datatype has been enhanced to better allow generation of streaming output. The SourceResult, SinkResult, and ConduitResult datatypes have been removed entirely.
0.2
Instead of storing state in mutable variables, we now use CPS. A Source returns the next Source, and likewise for Sinks and Conduits. Not only does this take better advantage of GHC's optimizations (about a 20% speedup), but it allows some operations to have a reduction in algorithmic complexity from exponential to linear. This also allowed us to remove the Prepared set of types. Also, the State functions (e.g., sinkState) use better constructors for return types, avoiding the need for a dummy state on completion.
0.1
BufferedSource is now an abstract type, and has a much more efficient internal representation. The result was a 41% speedup on microbenchmarks (note: do not expect speedups anywhere near that in real usage). In general, we are moving towards BufferedSource being a specific tool used internally as needed, but using Source for all external APIs.
0.0
Initial release.

Properties

Versions 0.0.0, 0.0.0.1, 0.0.0.2, 0.0.1, 0.0.1.1, 0.0.2, 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.1.1, 0.2.0, 0.2.1, 0.2.2, 0.3.0, 0.4.0, 0.4.0.1, 0.4.1, 0.4.1.1, 0.4.2, 0.5.0, 0.5.1, 0.5.2, 0.5.2.1, 0.5.2.2, 0.5.2.3, 0.5.2.4, 0.5.2.5, 0.5.2.6, 0.5.2.7, 0.5.3, 0.5.4, 0.5.4.1, 0.5.4.2, 0.5.5, 0.5.6, 1.0.0, 1.0.0.1, 1.0.0.2, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.4.1, 1.0.4.2, 1.0.5, 1.0.5.1, 1.0.6, 1.0.7, 1.0.7.1, 1.0.7.2, 1.0.7.3, 1.0.7.4, 1.0.8, 1.0.9, 1.0.9.1, 1.0.9.2, 1.0.9.3, 1.0.10, 1.0.10.1, 1.0.11, 1.0.11.1, 1.0.12, 1.0.13, 1.0.13.1, 1.0.14, 1.0.15, 1.0.15.1, 1.0.16, 1.0.17, 1.0.17.1, 1.1.0, 1.1.0.1, 1.1.0.2, 1.1.1, 1.1.1.1, 1.1.2, 1.1.2.1, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.2.0, 1.2.0.1, 1.2.0.2, 1.2.1, 1.2.2, 1.2.2.1, 1.2.2.2, 1.2.3, 1.2.3.1, 1.2.4, 1.2.4.1, 1.2.4.2, 1.2.4.3, 1.2.5, 1.2.5.1, 1.2.6, 1.2.6.1, 1.2.6.2, 1.2.6.3, 1.2.6.4, 1.2.6.5, 1.2.6.6, 1.2.7, 1.2.8, 1.2.9, 1.2.9.1, 1.2.10, 1.2.11, 1.2.12, 1.2.12.1
Dependencies base (>=4.3 && <4.6), bytestring (>=0.9), containers, lifted-base (==0.1.*), monad-control (>=0.3.1 && <0.4), resourcet (==0.3.*), text (>=0.11), transformers (>=0.2.2 && <0.3), transformers-base (>=0.4.1 && <0.5) [details]
License BSD3
Author Michael Snoyman
Maintainer michael@snoyman.com
Category Data, Conduit
Home page http://github.com/snoyberg/conduit
Source repository head: git clone git://github.com/snoyberg/conduit.git
Uploaded Wed Mar 21 15:27:41 UTC 2012 by MichaelSnoyman
Updated Mon May 25 18:00:12 UTC 2015 by AdamBergmark to revision 1   [What is this?]
Distributions Arch:1.2.12.1, Debian:1.2.6.1, Fedora:1.2.9, FreeBSD:1.2.5, LTSHaskell:1.2.12.1, NixOS:1.2.12.1, Stackage:1.2.12.1, Tumbleweed:1.2.11
Downloads 243412 total (9524 in the last 30 days)
Rating 2.5 (votes: 8) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
debug

Turn on some runtime check to ensure invariants are respected.

EnabledAutomatic
nohandlesEnabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

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