streaming: A free monad transformer optimized for streaming applications.
Stream can be used wherever FreeT is used. The compiler
is better able to optimize operations written in
terms of Stream.
See the examples in Streaming.Prelude for a sense of things.
It closely follows
Pipes.Prelude, and focused on on employment with a base
functor like ((,) a) (here called Of a) which generates
effectful sequences or producers - Pipes.Producer,
Conduit.Source, IOStreams.InputStream, IOStreams.Generator
and the like.
Interoperation with pipes is accomplished with this isomorphism, which
uses Pipes.Prelude.unfoldr from HEAD:
Pipes.unfoldr Streaming.next :: Stream (Of a) m r -> Producer a m r Streaming.unfoldr Pipes.next :: Producer a m r -> Stream (Of a) m r
Interoperation with iostreams is thus:
Streaming.reread IOStreams.read :: InputStream a -> Stream (Of a) IO () IOStreams.unfoldM Streaming.uncons :: Stream (Of a) IO () -> IO (InputStream a)
for example. A simple exit to conduit would be, e.g.:
Conduit.unfoldM Streaming.uncons :: Stream (Of a) m () -> Source m a
Downloads
- streaming-0.1.0.4.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
| Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.0.9, 0.1.0.10, 0.1.0.11, 0.1.0.12, 0.1.0.13, 0.1.0.14, 0.1.0.15, 0.1.0.16, 0.1.0.17, 0.1.0.18, 0.1.0.19, 0.1.0.20, 0.1.1.0, 0.1.1.1, 0.1.2.0, 0.1.2.2, 0.1.3.0, 0.1.3.1, 0.1.3.2, 0.1.3.3, 0.1.3.4, 0.1.4.0, 0.1.4.1, 0.1.4.2, 0.1.4.3, 0.1.4.4, 0.1.4.5, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.2.3.1, 0.2.4.0 |
|---|---|
| Dependencies | base (>=4.8 && <4.9), ghc-prim, mmorph (>=1.0 && <1.2), mtl (>=2.1 && <2.3), transformers (>=0.3 && <0.5) [details] |
| License | BSD-3-Clause |
| Author | michaelt |
| Maintainer | what_is_it_to_do_anything@yahoo.com |
| Revised | Revision 1 made by HerbertValerioRiedel at 2018-08-29T08:15:09Z |
| Category | Data, Pipes |
| Home page | https://github.com/michaelt/streaming |
| Bug tracker | https://github.com/michaelt/streaming/issues |
| Source repo | head: git clone https://github.com/michaelt/streaming |
| Uploaded | by MichaelThompson at 2015-08-17T04:16:38Z |
| Distributions | LTSHaskell:0.2.4.0, NixOS:0.2.4.0, Stackage:0.2.4.0 |
| Reverse Dependencies | 80 direct, 92 indirect [details] |
| Downloads | 49419 total (144 in the last 30 days) |
| Rating | 2.5 (votes: 6) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2015-10-20 [all 2 reports] |