name: streamly version: 0.1.2 synopsis: Beautiful Streaming, Concurrent and Reactive Composition description: Streamly is a monad transformer unifying non-determinism (\/), concurrency (), streaming (\/), and FRP (\/) functionality in a concise and intuitive API. High level concurrency makes concurrent applications almost indistinguishable from non-concurrent ones. By changing a single combinator you can control whether the code runs serially or concurrently. It naturally integrates concurrency with streaming rather than adding it as an afterthought. Moreover, it interworks with the popular streaming libraries. . See the README for an overview and the haddock documentation for full reference. It is recommended to read the comprehensive tutorial module "Streamly.Tutorial" first. Also see "Streamly.Examples" for some working examples. homepage: https://github.com/composewell/streamly bug-reports: https://github.com/composewell/streamly/issues license: BSD3 license-file: LICENSE tested-with: GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1 author: Harendra Kumar maintainer: harendra.kumar@gmail.com copyright: 2017 Harendra Kumar category: Control, Concurrency, Streaming, Reactivity stability: Experimental build-type: Simple cabal-version: >= 1.10 extra-source-files: Changelog.md README.md stack-7.10.yaml stack.yaml source-repository head type: git location: https://github.com/composewell/streamly flag dev description: Build development version manual: True default: False flag extra-benchmarks description: Include comparative benchmarks manual: True default: False flag examples description: Build examples manual: True default: False flag examples-sdl description: Include examples that use SDL dependency manual: True default: False library hs-source-dirs: src other-modules: Streamly.Core , Streamly.Streams exposed-modules: Streamly.Prelude , Streamly.Time , Streamly.Tutorial , Streamly if flag(examples) || flag(examples-sdl) exposed-modules: Streamly.Examples , Streamly.Examples.SearchEngineQuery , Streamly.Examples.ListDirRecursive , Streamly.Examples.MergeSortedStreams , Streamly.Examples.AcidRainGame if flag(examples-sdl) exposed-modules: Streamly.Examples.CirclingSquare default-language: Haskell2010 ghc-options: -Wall if flag(dev) ghc-options: -Wmissed-specialisations -Wall-missed-specialisations -fno-ignore-asserts if impl(ghc >= 8.0) ghc-options: -Wcompat -Wunrecognised-warning-flags -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances if flag(examples-sdl) cpp-options: -DEXAMPLES_SDL build-depends: base >= 4.8 && < 5 , atomic-primops >= 0.8 && < 0.9 , containers >= 0.5 && < 0.6 , exceptions >= 0.8 && < 0.11 , lifted-base >= 0.2 && < 0.3 , lockfree-queue >= 0.2.3 && < 0.3 , monad-control >= 1.0 && < 2 , mtl >= 2.2 && < 3 , stm >= 2.4.3 && < 2.5 , transformers >= 0.4 && < 0.6 , transformers-base >= 0.4 && < 0.5 if impl(ghc < 8.0) build-depends: semigroups >= 0.18 && < 0.19 if flag(examples) || flag(examples-sdl) build-Depends: http-conduit >= 2.2.2 && < 2.4 , path-io >= 0.1.0 && < 1.4 , random >= 1.0.0 && < 1.2 if flag(examples-sdl) build-Depends: SDL >= 0.6.5 && < 0.7 test-suite test type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: test ghc-options: -O0 -Wall if flag(dev) ghc-options: -Wmissed-specialisations -Wall-missed-specialisations if impl(ghc >= 8.0) ghc-options: -Wcompat -Wunrecognised-warning-flags -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances build-depends: streamly , base >= 4.8 && < 5 , hspec >= 2.0 && < 3 , containers >= 0.5 && < 0.6 if impl(ghc < 8.0) build-depends: transformers >= 0.4 && < 0.6 default-language: Haskell2010 benchmark bench type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: benchmark ghc-options: -O2 -Wall if flag(dev) ghc-options: -Wmissed-specialisations -Wall-missed-specialisations -fno-ignore-asserts if impl(ghc >= 8.0) ghc-options: -Wcompat -Wunrecognised-warning-flags -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances build-depends: streamly , atomic-primops >= 0.8 && < 0.9 , base >= 4.8 && < 5 , criterion >= 1 && < 2 , mtl >= 2.2 && < 3 if impl(ghc < 8.0) build-depends: transformers >= 0.4 && < 0.6 if flag(extra-benchmarks) cpp-options: -DEXTRA_BENCHMARKS build-depends: list-t >= 0.4 && < 2 , logict >= 0.6 && < 0.7 , machines >= 0.5 && < 0.7 , simple-conduit >= 0.6 && < 0.7 , transient >= 0.4 && < 0.6 default-language: Haskell2010 ------------------------------------------------------------------------------- -- Examples ------------------------------------------------------------------------------- executable loops default-language: Haskell2010 main-is: loops.hs hs-source-dirs: examples if flag(examples) buildable: True build-Depends: streamly , base >= 4.8 && < 5 else buildable: False executable nested-loops default-language: Haskell2010 main-is: nested-loops.hs hs-source-dirs: examples if flag(examples) buildable: True build-Depends: streamly , base >= 4.8 && < 5 , random >= 1.0.0 && < 1.2 else buildable: False executable parallel-loops default-language: Haskell2010 main-is: parallel-loops.hs hs-source-dirs: examples if flag(examples) buildable: True build-Depends: streamly , base >= 4.8 && < 5 , random >= 1.0.0 && < 1.2 else buildable: False