Quiver finite stream processing library https://github.com/zadarnowski/quiver
|Latest on Hackage:||1.1.3|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
Copyright © 2015 Patryk Zadarnowski «firstname.lastname@example.org». All rights reserved.
Quiver is a powerful stream processing library for combinatorial and monadic representation of computations over both inductive and coinductive data streams.
It is similar to Gabriel Gonzalez’s pipes and Michael Snoyman’s conduit, but generalises both with support for functor-based computations and a clean support for finite (i.e., inductive) data streams, both upstream and downstream of the computation being defined.
The underlying data structure,
P, is almost identical
Proxy data structure of the
except that the
(corresponding, respectively, to
in the Pipes’
Proxy data type) include an additional
argument which explicitly captures the processor’s
behaviour in the event of input stream depletion
Consume) or output decoupling (for
This simple mechanism subsumes Conduit’s need for
elaborate unconsumed-input tracking mechanisms,
and allows us to provide a mathematically-clean
framework for processing of finite data streams.
This library is currently very young, and users should expect significant changes to the Quiver core combinators as the underlying theory is developed and the interface stabilises asymptotically to the future version 1.0.