streaming: A free monad transformer optimized for streaming applications.

[ bsd3, data, library, pipes, streaming ] [ Propose Tags ]

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

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

Package maintainers

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 78 direct, 88 indirect [details]
Downloads 45992 total (271 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]