packages feed

streaming-0.1.1.1: streaming.cabal

name:                streaming
version:             0.1.1.1
cabal-version:       >=1.10
build-type:          Simple
synopsis:            an elementary streaming prelude and a general monad transformer for streaming applications.

description:         @Streaming.Prelude@ exports an elementary streaming prelude; @Streaming@ exports a free monad transformer 
                     optimized for streaming applications and replacing @FreeT@. See the 
                     <https://hackage.haskell.org/package/streaming#readme readme> below
                     for an explanation. Elementary usage can be divined from the ghci examples in 
                     @Streaming.Prelude@
                     .
                     The simplest form of interoperation with <http://hackage.haskell.org/package/pipes pipes>
                     is accomplished with this isomorphism:
                     .
                     > 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 <http://hackage.haskell.org/package/io-streams io-streams> is thus:
                     .
                     > Streaming.reread IOStreams.read     :: InputStream a       -> Stream (Of a) IO ()
                     > IOStreams.unfoldM Streaming.uncons  :: Stream (Of a) IO () -> IO (InputStream a)
                     .
                     A simple exit to <http://hackage.haskell.org/package/conduit conduit> would be, e.g.:
                     .
                     > Conduit.unfoldM Streaming.uncons    :: Stream (Of a) m ()  -> Source m a
                     .
                     These conversions should never be more expensive than a single @>->@ or @=$=@. Further
                     points of comparison are discussed in the 
                     <https://hackage.haskell.org/package/streaming#readme readme>
                     below.
                     .
                     Note also the 
                     <https://hackage.haskell.org/package/streaming-bytestring streaming bytestring> 
                     and 
                     <https://hackage.haskell.org/package/streaming-utils streaming utils> 
                     packages.
                     
license:             BSD3
license-file:        LICENSE
author:              michaelt
maintainer:          what_is_it_to_do_anything@yahoo.com
stability:           Experimental
homepage:            https://github.com/michaelt/streaming
bug-reports:         https://github.com/michaelt/streaming/issues
category:            Data, Pipes, Streaming
extra-source-files:  README.md

source-repository head
    type: git
    location: https://github.com/michaelt/streaming


library
  exposed-modules:     Streaming, 
                       Streaming.Prelude,
                       Streaming.Internal

    -- other-modules:       
  other-extensions:    RankNTypes, CPP,
                       StandaloneDeriving, FlexibleContexts, 
                       DeriveDataTypeable, DeriveFoldable, 
                       DeriveFunctor, DeriveTraversable, 
                       UndecidableInstances
  
  build-depends:       base >=4.6 && <5
                     , mtl >=2.1 && <2.3
                     , mmorph >=1.0 && <1.2
                     , transformers >=0.4 && <0.5
                     , bytestring
                     , random
                     , time

  default-language:  Haskell2010