name:                streaming-concurrency
version:             0.3.1.0
synopsis:            Concurrency support for the streaming ecosystem
description:
  There are two primary higher-level use-cases for this library:
  .
  1. Merge multiple @Stream@s together.
  .
  2. A conceptual @Stream@-based equivalent to @parMap@ (albeit
     utilising concurrency rather than true parallelism).
  .
  However, low-level functions are also exposed so you can construct
  your own methods of concurrently using @Stream@s (and there are also
  non-@Stream@-specific functions if you wish to use it with other data
  types).
license:             MIT
license-file:        LICENSE
author:              Ivan Lazar Miljenovic
maintainer:          Ivan.Miljenovic@gmail.com
copyright:           Ivan Lazar Miljenovic
category:            Data, Streaming
build-type:          Simple
extra-source-files:  ChangeLog.md, README.md
cabal-version:       >=1.10
tested-with:         GHC == 7.10.2, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.3.*

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

library
  exposed-modules:     Streaming.Concurrent
                     , Streaming.Concurrent.Lifted
  build-depends:       base ==4.*
                     , exceptions >= 0.6 && < 0.9
                     , lifted-async >= 0.9.3 && < 0.10
                     , monad-control == 1.*
                     , stm >= 2.4 && < 3
                     , streaming >= 0.1.4.0 && < 0.3
                     , streaming-with >= 0.1.0.0 && < 0.3
                     , transformers-base
  hs-source-dirs:      src
  default-language:    Haskell2010

test-suite merging
  type:                exitcode-stdio-1.0
  main-is:             merging.hs
  build-depends:       streaming-concurrency
                     , base
                     , hspec == 2.4.*
                     , QuickCheck == 2.*
                     , quickcheck-instances
                     , streaming
  hs-source-dirs:      test
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded

benchmark mapping
  type:                exitcode-stdio-1.0
  main-is:             mapping.hs
  build-depends:       streaming-concurrency
                     , base
                     , exceptions
                     , HUnit
                     , lifted-async
                     , monad-control
                     , streaming
                     , testbench >= 0.2.1.0 && < 0.3
  hs-source-dirs:      bench
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded +RTS -N -RTS