packages feed

streaming-0.1.0.3: streaming.cabal

name:                streaming
version:             0.1.0.3
cabal-version:       >=1.10
build-type:          Simple
synopsis:            A general free monad transformer 
                     optimized for streaming applications.
                     
description:         `Stream` can be used wherever `FreeT` is used. The compiler
                     is better able to optimize operations written in
                     terms of `Stream`.
                     .
                     An associated prelude of functions, closely following 
                     @Pipes.Prelude@ is 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:
                     .  
                     > Pipes.unfoldr Streaming.next :: Stream (Of a) m r -> Producer a m r
                     > Stream.unfoldr Pipes.next    :: Producer a m r -> Stream (Of a) m r
                     .
                     Exit to `conduit` and `iostreams` is thus:
                     .
                     > Conduit.unfoldM Streaming.uncons   :: Stream (Of a) m ()  -> Source m a
                     > IOStreams.unfoldM Streaming.uncons :: Stream (Of a) IO () -> InputStream a
                     
                     
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
source-repository head
    type: git
    location: https://github.com/michaelt/streaming


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

    -- other-modules:       
  other-extensions:    LambdaCase, RankNTypes, EmptyCase, 
                       StandaloneDeriving, FlexibleContexts, 
                       DeriveDataTypeable, DeriveFoldable, 
                       DeriveFunctor, DeriveTraversable, 
                       UndecidableInstances
  
  build-depends:       base >=4.7 && <4.9
                     , mtl >=2.1 && <2.3
                     , mmorph >=1.0 && <1.2
                     , transformers >=0.3 && <0.5
                     , ghc-prim

  default-language:  Haskell2010