conduit: Streaming data processing library.
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.2
- Instead of storing state in mutable variables, we now use CPS. A
Source
returns the nextSource
, and likewise forSink
s andConduit
s. 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 thePrepared
set of types. Also, theState
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 towardsBufferedSource
being a specific tool used internally as needed, but usingSource
for all external APIs.- 0.0
- Initial release.
Modules
[Index]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
debug | Turn on some runtime check to ensure invariants are respected. | Enabled |
nohandles | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- conduit-0.2.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
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
Candidates