packages feed

Cabal revisions of streamly-0.8.1.1

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-cabal-version:      2.2-name:               streamly-version:            0.8.1.1-synopsis:           Dataflow programming and declarative concurrency-description:-  Browse the documentation at https://streamly.composewell.com.-  .-  Streamly is a streaming framework to build reliable and scalable-  software systems from modular building blocks using dataflow-  programming and declarative concurrency.  Stream fusion optimizations-  in streamly result in high-performance, modular combinatorial-  programming.-  .-  Performance with simplicity:-  .-  * Performance on par with C (<https://github.com/composewell/streaming-benchmarks Benchmarks>)-  * API close to standard Haskell lists (<https://github.com/composewell/streamly-examples Examples>)-  * Declarative concurrency with automatic scaling-  * Filesystem, fsnotify, network, and Unicode support included-  * More functionality provided via many ecosystem packages-  .-  Unified and powerful abstractions:-  .-  * Unifies unfolds, arrays, folds, and parsers with streaming-  * Unifies @Data.List@, @list-t@, and @logict@ with streaming-  * Unifies concurrency with standard streaming abstractions-  * Provides time-domain combinators for reactive programming-  * Interworks with bytestring and streaming libraries--homepage:            https://streamly.composewell.com-bug-reports:         https://github.com/composewell/streamly/issues-license:             BSD-3-Clause-license-file:        LICENSE-tested-with:         GHC==8.0.2-                   , GHC==8.4.4-                   , GHC==8.6.5-                   , GHC==8.8.4-                   , GHC==8.10.7-                   , GHC==9.0.1-                   , GHC==9.2.1-author:              Composewell Technologies-maintainer:          streamly@composewell.com-copyright:           2017 Composewell Technologies-category:-    Streamly, Concurrency, Streaming, Dataflow, Pipes, Reactivity, List,-    Logic, Non-determinism, Parsing, Array, Time, Unicode, Filesystem,-    Network-stability:           Stable-build-type:          Configure--extra-source-files:-    benchmark/*.hs-    benchmark/bench-report/BenchReport.hs-    benchmark/bench-report/bench-report.cabal-    benchmark/bench-report/bin/bench-runner.sh-    benchmark/bench-report/bin/build-lib.sh-    benchmark/bench-report/cabal.project-    benchmark/Streamly/Benchmark/Data/*.hs-    benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs-    benchmark/Streamly/Benchmark/Data/Parser/*.hs-    benchmark/Streamly/Benchmark/Data/Stream/*.hs-    benchmark/Streamly/Benchmark/FileSystem/*.hs-    benchmark/Streamly/Benchmark/FileSystem/Handle/*.hs-    benchmark/Streamly/Benchmark/Prelude/*.hs-    benchmark/Streamly/Benchmark/Prelude/Serial/*.hs-    benchmark/Streamly/Benchmark/Unicode/*.hs-    benchmark/lib/Streamly/Benchmark/*.hs-    benchmark/lib/Streamly/Benchmark/Common/*.hs-    benchmark/streamly-benchmarks.cabal-    bin/bench.sh-    bin/bench-config.sh-    bin/mk-hscope.sh-    bin/mk-tags.sh-    bin/targets.sh-    bin/test.sh-    configure-    configure.ac-    docs/*.hs-    docs/streamly-docs.cabal-    src/Streamly/Internal/Data/Stream/Instances.hs-    src/Streamly/Internal/Data/Stream/PreludeCommon.hs-    src/Streamly/Internal/Data/Time/Clock/config-clock.h-    src/Streamly/Internal/Data/Array/PrimInclude.hs-    src/Streamly/Internal/Data/Array/Prim/TypesInclude.hs-    src/Streamly/Internal/Data/Array/Prim/MutTypesInclude.hs-    src/Streamly/Internal/FileSystem/Event/Darwin.h-    src/config.h.in-    src/inline.hs-    test/Streamly/Test/Common/Array.hs-    test/Streamly/Test/Data/*.hs-    test/Streamly/Test/Data/Array/Prim.hs-    test/Streamly/Test/Data/Array/Prim/Pinned.hs-    test/Streamly/Test/Data/Array/Foreign.hs-    test/Streamly/Test/Data/Array/Stream/Foreign.hs-    test/Streamly/Test/Data/Parser/ParserD.hs-    test/Streamly/Test/FileSystem/Event.hs-    test/Streamly/Test/FileSystem/Event/Common.hs-    test/Streamly/Test/FileSystem/Event/Darwin.hs-    test/Streamly/Test/FileSystem/Event/Windows.hs-    test/Streamly/Test/FileSystem/Event/Linux.hs-    test/Streamly/Test/FileSystem/Handle.hs-    test/Streamly/Test/Network/Socket.hs-    test/Streamly/Test/Network/Inet/TCP.hs-    test/Streamly/Test/Prelude.hs-    test/Streamly/Test/Prelude/*.hs-    test/Streamly/Test/Unicode/*.hs-    test/lib/Streamly/Test/Common.hs-    test/lib/Streamly/Test/Prelude/Common.hs-    test/streamly-tests.cabal-    test/version-bounds.hs-    test/Streamly/Test/Unicode/ucd/NormalizationTest.txt-    test/Streamly/Test/Unicode/extra/NormalizationTest.txt-    benchmark/Streamly/Benchmark/Unicode/data/AllChars.txt-    benchmark/Streamly/Benchmark/Unicode/data/Devanagari.txt-    benchmark/Streamly/Benchmark/Unicode/data/Japanese.txt-    benchmark/Streamly/Benchmark/Unicode/data/Vietnamese.txt-    benchmark/Streamly/Benchmark/Unicode/data/Deutsch.txt-    benchmark/Streamly/Benchmark/Unicode/data/English.txt-    benchmark/Streamly/Benchmark/Unicode/data/Korean.txt--extra-doc-files:-    CONTRIBUTING.md-    Changelog.md-    README.md-    benchmark/README.md-    dev/*.md-    dev/*.png-    dev/*.rst-    docs/*.md-    docs/*.link-    docs/*.rst-    docs/*.svg-    docs/API-changelog.txt-    test/README.md--extra-tmp-files:-    config.log-    config.status-    autom4te.cache-    src/config.h--source-repository head-    type: git-    location: https://github.com/composewell/streamly--flag fusion-plugin-  description: Use fusion plugin for benchmarks and executables-  manual: True-  default: False--flag inspection-  description: Enable inspection testing-  manual: True-  default: False--flag debug-  description: Debug build with asserts enabled-  manual: True-  default: False--flag dev-  description: Development build-  manual: True-  default: False--flag has-llvm-  description: Use llvm backend for code generation-  manual: True-  default: False--flag no-fusion-  description: Disable rewrite rules for stream fusion-  manual: True-  default: False--flag streamk-  description: Use CPS style streams when possible-  manual: True-  default: False--flag use-c-malloc-  description: Use C malloc instead of GHC malloc-  manual: True-  default: False--flag opt-  description: off=GHC default, on=-O2-  manual: True-  default: True--flag limit-build-mem-  description: Limits memory when building-  manual: True-  default: False------------------------------------------------------------------------------------ Common stanzas----------------------------------------------------------------------------------common compile-options-    default-language: Haskell2010--    if os(darwin)-      cpp-options:    -DCABAL_OS_DARWIN--    if os(linux)-      cpp-options:    -DCABAL_OS_LINUX--    if os(windows)-      cpp-options:    -DCABAL_OS_WINDOWS--    if flag(streamk)-      cpp-options:    -DUSE_STREAMK_ONLY--    if flag(no-fusion)-      cpp-options:    -DDISABLE_FUSION--    if flag(dev)-      cpp-options:    -DDEVBUILD--    if flag(inspection)-      cpp-options:    -DINSPECTION--    if flag(use-c-malloc)-      cpp-options:    -DUSE_C_MALLOC--    ghc-options:      -Wall-                      -Wcompat-                      -Wunrecognised-warning-flags-                      -Widentities-                      -Wincomplete-record-updates-                      -Wincomplete-uni-patterns-                      -Wredundant-constraints-                      -Wnoncanonical-monad-instances-                      -Rghc-timing--    if flag(has-llvm)-      ghc-options: -fllvm--    if flag(dev)-      ghc-options:    -Wmissed-specialisations-                      -Wall-missed-specialisations--    if flag(limit-build-mem)-        ghc-options: +RTS -M1000M -RTS--common default-extensions-    default-extensions:-        BangPatterns-        CApiFFI-        CPP-        ConstraintKinds-        DeriveDataTypeable-        DeriveGeneric-        DeriveTraversable-        ExistentialQuantification-        FlexibleContexts-        FlexibleInstances-        GeneralizedNewtypeDeriving-        InstanceSigs-        KindSignatures-        LambdaCase-        MagicHash-        MultiParamTypeClasses-        PatternSynonyms-        RankNTypes-        RecordWildCards-        ScopedTypeVariables-        TupleSections-        TypeApplications-        TypeFamilies-        ViewPatterns--        -- MonoLocalBinds, enabled by TypeFamilies, causes performance-        -- regressions. Disable it. This must come after TypeFamilies,-        -- otherwise TypeFamilies will enable it again.-        NoMonoLocalBinds--        -- UndecidableInstances -- Does not show any perf impact-        -- UnboxedTuples        -- interferes with (#.)--common optimization-options-  if flag(opt)-    ghc-options: -O2-                 -fdicts-strict-                 -fspec-constr-recursive=16-                 -fmax-worker-args=16--  -- For this to be effective it must come after the -O2 option-  if flag(dev) || flag(debug) || !flag(opt)-    ghc-options: -fno-ignore-asserts--common threading-options-  ghc-options:  -threaded-                -with-rtsopts=-N---- We need optimization options here to optimize internal (non-inlined)--- versions of functions. Also, we have some benchmarking inspection tests--- part of the library when built with --benchmarks flag. Thos tests fail--- if we do not use optimization options here. It was observed that due to--- -O2 here some concurrent/nested benchmarks improved and others regressed.--- We can investigate a bit more here why the regression occurred.-common lib-options-  import: compile-options, optimization-options, default-extensions------------------------------------------------------------------------------------ Library----------------------------------------------------------------------------------library-    import: lib-options--    if impl(ghc >= 8.6)-      default-extensions: QuantifiedConstraints--    js-sources: jsbits/clock.js-    include-dirs:    src, src/Streamly/Internal/Data/Stream-    if os(windows)-      c-sources:     src/Streamly/Internal/Data/Time/Clock/Windows.c-      exposed-modules: Streamly.Internal.FileSystem.Event.Windows-      build-depends: Win32 >= 2.6 && < 2.13--    if os(darwin)-      frameworks:    Cocoa-      include-dirs:  src/Streamly/Internal-      c-sources:     src/Streamly/Internal/Data/Time/Clock/Darwin.c-                   , src/Streamly/Internal/FileSystem/Event/Darwin.m-      exposed-modules:-                     Streamly.Internal.FileSystem.Event.Darwin--    if os(linux)-      exposed-modules: Streamly.Internal.FileSystem.Event.Linux--    if os(linux) || os(darwin) || os(windows)-      exposed-modules: Streamly.Internal.FileSystem.Event--    hs-source-dirs:    src-    other-modules:-                       Streamly.Data.Array-                     , Streamly.Data.Prim.Array-                     , Streamly.Data.SmallArray--    exposed-modules:-                       Streamly.Prelude-                     , Streamly.Data.Unfold-                     , Streamly.Data.Fold-                     , Streamly.Data.Fold.Tee-                     , Streamly.Data.Array.Foreign--                     -- Text Processing-                     , Streamly.Unicode.Stream--                     -- Filesystem/IO-                     , Streamly.FileSystem.Handle-                     , Streamly.Console.Stdio--                     -- Network/IO-                     , Streamly.Network.Socket-                     , Streamly.Network.Inet.TCP--                     -- Deprecated-                     , Streamly-                     , Streamly.Data.Unicode.Stream-                     , Streamly.Memory.Array--                     -- Internal modules, listed roughly in dependency order-                     -- To view dependency graph:-                     -- graphmod | dot -Tps > deps.ps--                     -- streamly-base-                     , Streamly.Internal.BaseCompat-                     , Streamly.Internal.Control.Exception-                     , Streamly.Internal.Control.Monad-                     , Streamly.Internal.Control.Concurrent-                     , Streamly.Internal.Data.Cont-                     , Streamly.Internal.Data.Tuple.Strict-                     , Streamly.Internal.Data.Maybe.Strict-                     , Streamly.Internal.Data.Either.Strict-                     , Streamly.Internal.Foreign.Malloc-                     , Streamly.Internal.Data.Atomics-                     , Streamly.Internal.Data.IOFinalizer-                     , Streamly.Internal.Data.Time-                     , Streamly.Internal.Data.Time.TimeSpec-                     , Streamly.Internal.Data.Time.Units-                     , Streamly.Internal.Data.Time.Clock.Type-                     , Streamly.Internal.Data.Time.Clock-                     , Streamly.Internal.System.IO-                     , Streamly.Internal.System.IOVec.Type--                     -- streamly-core-stream-                     , Streamly.Internal.Data.SVar.Type-                     , Streamly.Internal.Data.SVar.Worker-                     , Streamly.Internal.Data.SVar.Dispatch-                     , Streamly.Internal.Data.SVar.Pull-                     , Streamly.Internal.Data.SVar-                     , Streamly.Internal.Data.Stream.StreamK.Type-                     , Streamly.Internal.Data.Fold.Step-                     , Streamly.Internal.Data.Refold.Type-                     , Streamly.Internal.Data.Fold.Type-                     , Streamly.Internal.Data.Stream.StreamD.Step-                     , Streamly.Internal.Data.Stream.StreamD.Type-                     , Streamly.Internal.Data.Stream.StreamDK.Type-                     , Streamly.Internal.Data.Unfold.Type-                     , Streamly.Internal.Data.Producer.Type-                     , Streamly.Internal.Data.Producer-                     , Streamly.Internal.Data.Producer.Source-                     , Streamly.Internal.Data.Sink.Type-                     , Streamly.Internal.Data.Parser.ParserK.Type-                     , Streamly.Internal.Data.Parser.ParserD.Type-                     , Streamly.Internal.Data.Pipe.Type--                    -- Unboxed IORef-                     , Streamly.Internal.Data.IORef.Prim--                     -- streamly-core-array-                     -- May depend on streamly-core-stream-                     , Streamly.Internal.Data.Array.Foreign.Mut.Type-                     , Streamly.Internal.Data.Array.Foreign.Mut-                     , Streamly.Internal.Data.Array.Foreign.Type-                     , Streamly.Internal.Data.Array.Prim.Mut.Type-                     , Streamly.Internal.Data.Array.Prim.Type-                     , Streamly.Internal.Data.Array.Prim.Pinned.Mut.Type-                     , Streamly.Internal.Data.Array.Prim.Pinned.Type-                     , Streamly.Internal.Data.SmallArray.Type--                     -- streamly-base-streams-                     -- StreamD depends on streamly-core-array-                     , Streamly.Internal.Data.Stream.StreamD.Generate-                     , Streamly.Internal.Data.Stream.StreamD.Eliminate-                     , Streamly.Internal.Data.Stream.StreamD.Nesting-                     , Streamly.Internal.Data.Stream.StreamD.Transform-                     , Streamly.Internal.Data.Stream.StreamD.Exception-                     , Streamly.Internal.Data.Stream.StreamD.Lift-                     , Streamly.Internal.Data.Stream.StreamD-                     , Streamly.Internal.Data.Stream.StreamDK-                     , Streamly.Internal.Data.Stream.Prelude--                     , Streamly.Internal.Data.Parser.ParserD.Tee-                     , Streamly.Internal.Data.Parser.ParserD--                     -- streamly-core-                     , Streamly.Internal.Data.Unfold-                     , Streamly.Internal.Data.Unfold.SVar-                     , Streamly.Internal.Data.Unfold.Enumeration-                     , Streamly.Internal.Data.Fold.Tee-                     , Streamly.Internal.Data.Fold-                     , Streamly.Internal.Data.Fold.SVar-                     , Streamly.Internal.Data.Fold.Async-                     , Streamly.Internal.Data.Sink-                     , Streamly.Internal.Data.Parser-                     , Streamly.Internal.Data.Pipe--                     , Streamly.Internal.Data.Stream.SVar.Generate-                     , Streamly.Internal.Data.Stream.SVar.Eliminate-                     , Streamly.Internal.Data.Stream.Serial-                     , Streamly.Internal.Data.Stream.Async-                     , Streamly.Internal.Data.Stream.Parallel-                     , Streamly.Internal.Data.Stream.Ahead-                     , Streamly.Internal.Data.Stream.Zip-                     , Streamly.Internal.Data.List--                     , Streamly.Internal.Data.Stream.IsStream.Type-                     , Streamly.Internal.Data.Stream.IsStream.Combinators-                     , Streamly.Internal.Data.Stream.IsStream.Common-                     , Streamly.Internal.Data.Stream.IsStream.Enumeration-                     , Streamly.Internal.Data.Stream.IsStream.Generate-                     , Streamly.Internal.Data.Stream.IsStream.Eliminate-                     , Streamly.Internal.Data.Stream.IsStream.Transform-                     , Streamly.Internal.Data.Stream.IsStream.Expand-                     , Streamly.Internal.Data.Stream.IsStream.Reduce-                     , Streamly.Internal.Data.Stream.IsStream.Exception-                     , Streamly.Internal.Data.Stream.IsStream.Lift-                     , Streamly.Internal.Data.Stream.IsStream.Top-                     , Streamly.Internal.Data.Stream.IsStream--                     -- streamly-arrays-                     -- May depend on streamly-core-                     , Streamly.Internal.Data.Array-                     , Streamly.Internal.Data.Array.Foreign-                     , Streamly.Internal.Data.Array.Prim-                     , Streamly.Internal.Data.Array.Prim.Pinned-                     , Streamly.Internal.Data.SmallArray-                     , Streamly.Internal.Data.Array.Stream.Mut.Foreign-                     , Streamly.Internal.Data.Array.Stream.Foreign-                     , Streamly.Internal.Data.Array.Stream.Fold.Foreign--                    -- Memory storage-                     , Streamly.Internal.Ring.Foreign-                     , Streamly.Internal.Data.Ring--                     -- IOVec (depends on arrays/streams)-                     , Streamly.Internal.System.IOVec--                     -- streamly-unicode-                     , Streamly.Internal.Unicode.Stream-                     , Streamly.Internal.Unicode.Utf8-                     , Streamly.Internal.Unicode.Char-                     , Streamly.Internal.Unicode.Char.Parser-                     , Streamly.Internal.Unicode.Array.Char-                     , Streamly.Internal.Unicode.Array.Prim.Pinned--                     -- streamly-serde-                     , Streamly.Internal.Data.Binary.Decode--                     -- streamly-filesystem-                     , Streamly.Internal.FileSystem.Handle-                     , Streamly.Internal.FileSystem.Dir-                     , Streamly.Internal.FileSystem.File-                     , Streamly.Internal.FileSystem.FDIO-                     , Streamly.Internal.FileSystem.FD--                     -- streamly-console-                     , Streamly.Internal.Console.Stdio--                     -- streamly-network-                     , Streamly.Internal.Network.Socket-                     , Streamly.Internal.Network.Inet.TCP--                     -- Only used for benchmarks-                     , Streamly.Internal.Data.Stream.StreamK--    build-depends:-                    -- Core libraries shipped with ghc, the min and max-                    -- constraints of these libraries should match with-                    -- the GHC versions we support. This is to make sure that-                    -- packages depending on the "ghc" package (packages-                    -- depending on doctest is a common example) can-                    -- depend on streamly.-                       base              >= 4.9   &&  < 5-                     , containers        >= 0.5   && < 0.7-                     , deepseq           >= 1.4.1 && < 1.5-                     , directory         >= 1.2.2 && < 1.4-                     , exceptions        >= 0.8   && < 0.11-                     , ghc-prim          >= 0.2   && < 0.9-                     , mtl               >= 2.2   && < 3-                     , primitive         >= 0.5.4 && < 0.8-                     , transformers      >= 0.4   && < 0.7--                     , heaps             >= 0.3     && < 0.5-                     , filepath          >= 1.2.0.0 && < 1.4.3.0--                    -- concurrency-                     , atomic-primops    >= 0.8   && < 0.9-                     , lockfree-queue    >= 0.2.3 && < 0.3--                    -- transfomers-                     , monad-control     >= 1.0   && < 2-                     , transformers-base >= 0.4   && < 0.5--                     , fusion-plugin-types >= 0.1 && < 0.2-                     , unicode-data      >= 0.1   && < 0.3--                    -- Network-                     , network           >= 2.6   && < 4---  if flag(inspection)-    build-depends:     template-haskell   >= 2.14  && < 2.17-                     , inspection-testing >= 0.4   && < 0.5--  -- Array uses a Storable constraint in dev build making several inspection-  -- tests fail-  if flag(dev) && flag(inspection)-    build-depends: inspection-and-dev-flags-cannot-be-used-together+cabal-version:      2.2
+name:               streamly
+version:            0.8.1.1
+x-revision: 1
+synopsis:           Dataflow programming and declarative concurrency
+description:
+  Browse the documentation at https://streamly.composewell.com.
+  .
+  Streamly is a streaming framework to build reliable and scalable
+  software systems from modular building blocks using dataflow
+  programming and declarative concurrency.  Stream fusion optimizations
+  in streamly result in high-performance, modular combinatorial
+  programming.
+  .
+  Performance with simplicity:
+  .
+  * Performance on par with C (<https://github.com/composewell/streaming-benchmarks Benchmarks>)
+  * API close to standard Haskell lists (<https://github.com/composewell/streamly-examples Examples>)
+  * Declarative concurrency with automatic scaling
+  * Filesystem, fsnotify, network, and Unicode support included
+  * More functionality provided via many ecosystem packages
+  .
+  Unified and powerful abstractions:
+  .
+  * Unifies unfolds, arrays, folds, and parsers with streaming
+  * Unifies @Data.List@, @list-t@, and @logict@ with streaming
+  * Unifies concurrency with standard streaming abstractions
+  * Provides time-domain combinators for reactive programming
+  * Interworks with bytestring and streaming libraries
+
+homepage:            https://streamly.composewell.com
+bug-reports:         https://github.com/composewell/streamly/issues
+license:             BSD-3-Clause
+license-file:        LICENSE
+tested-with:         GHC==8.0.2
+                   , GHC==8.4.4
+                   , GHC==8.6.5
+                   , GHC==8.8.4
+                   , GHC==8.10.7
+                   , GHC==9.0.1
+                   , GHC==9.2.1
+author:              Composewell Technologies
+maintainer:          streamly@composewell.com
+copyright:           2017 Composewell Technologies
+category:
+    Streamly, Concurrency, Streaming, Dataflow, Pipes, Reactivity, List,
+    Logic, Non-determinism, Parsing, Array, Time, Unicode, Filesystem,
+    Network
+stability:           Stable
+build-type:          Configure
+
+extra-source-files:
+    benchmark/*.hs
+    benchmark/bench-report/BenchReport.hs
+    benchmark/bench-report/bench-report.cabal
+    benchmark/bench-report/bin/bench-runner.sh
+    benchmark/bench-report/bin/build-lib.sh
+    benchmark/bench-report/cabal.project
+    benchmark/Streamly/Benchmark/Data/*.hs
+    benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs
+    benchmark/Streamly/Benchmark/Data/Parser/*.hs
+    benchmark/Streamly/Benchmark/Data/Stream/*.hs
+    benchmark/Streamly/Benchmark/FileSystem/*.hs
+    benchmark/Streamly/Benchmark/FileSystem/Handle/*.hs
+    benchmark/Streamly/Benchmark/Prelude/*.hs
+    benchmark/Streamly/Benchmark/Prelude/Serial/*.hs
+    benchmark/Streamly/Benchmark/Unicode/*.hs
+    benchmark/lib/Streamly/Benchmark/*.hs
+    benchmark/lib/Streamly/Benchmark/Common/*.hs
+    benchmark/streamly-benchmarks.cabal
+    bin/bench.sh
+    bin/bench-config.sh
+    bin/mk-hscope.sh
+    bin/mk-tags.sh
+    bin/targets.sh
+    bin/test.sh
+    configure
+    configure.ac
+    docs/*.hs
+    docs/streamly-docs.cabal
+    src/Streamly/Internal/Data/Stream/Instances.hs
+    src/Streamly/Internal/Data/Stream/PreludeCommon.hs
+    src/Streamly/Internal/Data/Time/Clock/config-clock.h
+    src/Streamly/Internal/Data/Array/PrimInclude.hs
+    src/Streamly/Internal/Data/Array/Prim/TypesInclude.hs
+    src/Streamly/Internal/Data/Array/Prim/MutTypesInclude.hs
+    src/Streamly/Internal/FileSystem/Event/Darwin.h
+    src/config.h.in
+    src/inline.hs
+    test/Streamly/Test/Common/Array.hs
+    test/Streamly/Test/Data/*.hs
+    test/Streamly/Test/Data/Array/Prim.hs
+    test/Streamly/Test/Data/Array/Prim/Pinned.hs
+    test/Streamly/Test/Data/Array/Foreign.hs
+    test/Streamly/Test/Data/Array/Stream/Foreign.hs
+    test/Streamly/Test/Data/Parser/ParserD.hs
+    test/Streamly/Test/FileSystem/Event.hs
+    test/Streamly/Test/FileSystem/Event/Common.hs
+    test/Streamly/Test/FileSystem/Event/Darwin.hs
+    test/Streamly/Test/FileSystem/Event/Windows.hs
+    test/Streamly/Test/FileSystem/Event/Linux.hs
+    test/Streamly/Test/FileSystem/Handle.hs
+    test/Streamly/Test/Network/Socket.hs
+    test/Streamly/Test/Network/Inet/TCP.hs
+    test/Streamly/Test/Prelude.hs
+    test/Streamly/Test/Prelude/*.hs
+    test/Streamly/Test/Unicode/*.hs
+    test/lib/Streamly/Test/Common.hs
+    test/lib/Streamly/Test/Prelude/Common.hs
+    test/streamly-tests.cabal
+    test/version-bounds.hs
+    test/Streamly/Test/Unicode/ucd/NormalizationTest.txt
+    test/Streamly/Test/Unicode/extra/NormalizationTest.txt
+    benchmark/Streamly/Benchmark/Unicode/data/AllChars.txt
+    benchmark/Streamly/Benchmark/Unicode/data/Devanagari.txt
+    benchmark/Streamly/Benchmark/Unicode/data/Japanese.txt
+    benchmark/Streamly/Benchmark/Unicode/data/Vietnamese.txt
+    benchmark/Streamly/Benchmark/Unicode/data/Deutsch.txt
+    benchmark/Streamly/Benchmark/Unicode/data/English.txt
+    benchmark/Streamly/Benchmark/Unicode/data/Korean.txt
+
+extra-doc-files:
+    CONTRIBUTING.md
+    Changelog.md
+    README.md
+    benchmark/README.md
+    dev/*.md
+    dev/*.png
+    dev/*.rst
+    docs/*.md
+    docs/*.link
+    docs/*.rst
+    docs/*.svg
+    docs/API-changelog.txt
+    test/README.md
+
+extra-tmp-files:
+    config.log
+    config.status
+    autom4te.cache
+    src/config.h
+
+source-repository head
+    type: git
+    location: https://github.com/composewell/streamly
+
+flag fusion-plugin
+  description: Use fusion plugin for benchmarks and executables
+  manual: True
+  default: False
+
+flag inspection
+  description: Enable inspection testing
+  manual: True
+  default: False
+
+flag debug
+  description: Debug build with asserts enabled
+  manual: True
+  default: False
+
+flag dev
+  description: Development build
+  manual: True
+  default: False
+
+flag has-llvm
+  description: Use llvm backend for code generation
+  manual: True
+  default: False
+
+flag no-fusion
+  description: Disable rewrite rules for stream fusion
+  manual: True
+  default: False
+
+flag streamk
+  description: Use CPS style streams when possible
+  manual: True
+  default: False
+
+flag use-c-malloc
+  description: Use C malloc instead of GHC malloc
+  manual: True
+  default: False
+
+flag opt
+  description: off=GHC default, on=-O2
+  manual: True
+  default: True
+
+flag limit-build-mem
+  description: Limits memory when building
+  manual: True
+  default: False
+
+-------------------------------------------------------------------------------
+-- Common stanzas
+-------------------------------------------------------------------------------
+
+common compile-options
+    default-language: Haskell2010
+
+    if os(darwin)
+      cpp-options:    -DCABAL_OS_DARWIN
+
+    if os(linux)
+      cpp-options:    -DCABAL_OS_LINUX
+
+    if os(windows)
+      cpp-options:    -DCABAL_OS_WINDOWS
+
+    if flag(streamk)
+      cpp-options:    -DUSE_STREAMK_ONLY
+
+    if flag(no-fusion)
+      cpp-options:    -DDISABLE_FUSION
+
+    if flag(dev)
+      cpp-options:    -DDEVBUILD
+
+    if flag(inspection)
+      cpp-options:    -DINSPECTION
+
+    if flag(use-c-malloc)
+      cpp-options:    -DUSE_C_MALLOC
+
+    ghc-options:      -Wall
+                      -Wcompat
+                      -Wunrecognised-warning-flags
+                      -Widentities
+                      -Wincomplete-record-updates
+                      -Wincomplete-uni-patterns
+                      -Wredundant-constraints
+                      -Wnoncanonical-monad-instances
+                      -Rghc-timing
+
+    if flag(has-llvm)
+      ghc-options: -fllvm
+
+    if flag(dev)
+      ghc-options:    -Wmissed-specialisations
+                      -Wall-missed-specialisations
+
+    if flag(limit-build-mem)
+        ghc-options: +RTS -M1000M -RTS
+
+common default-extensions
+    default-extensions:
+        BangPatterns
+        CApiFFI
+        CPP
+        ConstraintKinds
+        DeriveDataTypeable
+        DeriveGeneric
+        DeriveTraversable
+        ExistentialQuantification
+        FlexibleContexts
+        FlexibleInstances
+        GeneralizedNewtypeDeriving
+        InstanceSigs
+        KindSignatures
+        LambdaCase
+        MagicHash
+        MultiParamTypeClasses
+        PatternSynonyms
+        RankNTypes
+        RecordWildCards
+        ScopedTypeVariables
+        TupleSections
+        TypeApplications
+        TypeFamilies
+        ViewPatterns
+
+        -- MonoLocalBinds, enabled by TypeFamilies, causes performance
+        -- regressions. Disable it. This must come after TypeFamilies,
+        -- otherwise TypeFamilies will enable it again.
+        NoMonoLocalBinds
+
+        -- UndecidableInstances -- Does not show any perf impact
+        -- UnboxedTuples        -- interferes with (#.)
+
+common optimization-options
+  if flag(opt)
+    ghc-options: -O2
+                 -fdicts-strict
+                 -fspec-constr-recursive=16
+                 -fmax-worker-args=16
+
+  -- For this to be effective it must come after the -O2 option
+  if flag(dev) || flag(debug) || !flag(opt)
+    ghc-options: -fno-ignore-asserts
+
+common threading-options
+  ghc-options:  -threaded
+                -with-rtsopts=-N
+
+-- We need optimization options here to optimize internal (non-inlined)
+-- versions of functions. Also, we have some benchmarking inspection tests
+-- part of the library when built with --benchmarks flag. Thos tests fail
+-- if we do not use optimization options here. It was observed that due to
+-- -O2 here some concurrent/nested benchmarks improved and others regressed.
+-- We can investigate a bit more here why the regression occurred.
+common lib-options
+  import: compile-options, optimization-options, default-extensions
+
+-------------------------------------------------------------------------------
+-- Library
+-------------------------------------------------------------------------------
+
+library
+    import: lib-options
+
+    if impl(ghc >= 8.6)
+      default-extensions: QuantifiedConstraints
+
+    js-sources: jsbits/clock.js
+    include-dirs:    src, src/Streamly/Internal/Data/Stream
+    if os(windows)
+      c-sources:     src/Streamly/Internal/Data/Time/Clock/Windows.c
+      exposed-modules: Streamly.Internal.FileSystem.Event.Windows
+      build-depends: Win32 >= 2.6 && < 2.13
+
+    if os(darwin)
+      frameworks:    Cocoa
+      include-dirs:  src/Streamly/Internal
+      c-sources:     src/Streamly/Internal/Data/Time/Clock/Darwin.c
+                   , src/Streamly/Internal/FileSystem/Event/Darwin.m
+      exposed-modules:
+                     Streamly.Internal.FileSystem.Event.Darwin
+
+    if os(linux)
+      exposed-modules: Streamly.Internal.FileSystem.Event.Linux
+
+    if os(linux) || os(darwin) || os(windows)
+      exposed-modules: Streamly.Internal.FileSystem.Event
+
+    hs-source-dirs:    src
+    other-modules:
+                       Streamly.Data.Array
+                     , Streamly.Data.Prim.Array
+                     , Streamly.Data.SmallArray
+
+    exposed-modules:
+                       Streamly.Prelude
+                     , Streamly.Data.Unfold
+                     , Streamly.Data.Fold
+                     , Streamly.Data.Fold.Tee
+                     , Streamly.Data.Array.Foreign
+
+                     -- Text Processing
+                     , Streamly.Unicode.Stream
+
+                     -- Filesystem/IO
+                     , Streamly.FileSystem.Handle
+                     , Streamly.Console.Stdio
+
+                     -- Network/IO
+                     , Streamly.Network.Socket
+                     , Streamly.Network.Inet.TCP
+
+                     -- Deprecated
+                     , Streamly
+                     , Streamly.Data.Unicode.Stream
+                     , Streamly.Memory.Array
+
+                     -- Internal modules, listed roughly in dependency order
+                     -- To view dependency graph:
+                     -- graphmod | dot -Tps > deps.ps
+
+                     -- streamly-base
+                     , Streamly.Internal.BaseCompat
+                     , Streamly.Internal.Control.Exception
+                     , Streamly.Internal.Control.Monad
+                     , Streamly.Internal.Control.Concurrent
+                     , Streamly.Internal.Data.Cont
+                     , Streamly.Internal.Data.Tuple.Strict
+                     , Streamly.Internal.Data.Maybe.Strict
+                     , Streamly.Internal.Data.Either.Strict
+                     , Streamly.Internal.Foreign.Malloc
+                     , Streamly.Internal.Data.Atomics
+                     , Streamly.Internal.Data.IOFinalizer
+                     , Streamly.Internal.Data.Time
+                     , Streamly.Internal.Data.Time.TimeSpec
+                     , Streamly.Internal.Data.Time.Units
+                     , Streamly.Internal.Data.Time.Clock.Type
+                     , Streamly.Internal.Data.Time.Clock
+                     , Streamly.Internal.System.IO
+                     , Streamly.Internal.System.IOVec.Type
+
+                     -- streamly-core-stream
+                     , Streamly.Internal.Data.SVar.Type
+                     , Streamly.Internal.Data.SVar.Worker
+                     , Streamly.Internal.Data.SVar.Dispatch
+                     , Streamly.Internal.Data.SVar.Pull
+                     , Streamly.Internal.Data.SVar
+                     , Streamly.Internal.Data.Stream.StreamK.Type
+                     , Streamly.Internal.Data.Fold.Step
+                     , Streamly.Internal.Data.Refold.Type
+                     , Streamly.Internal.Data.Fold.Type
+                     , Streamly.Internal.Data.Stream.StreamD.Step
+                     , Streamly.Internal.Data.Stream.StreamD.Type
+                     , Streamly.Internal.Data.Stream.StreamDK.Type
+                     , Streamly.Internal.Data.Unfold.Type
+                     , Streamly.Internal.Data.Producer.Type
+                     , Streamly.Internal.Data.Producer
+                     , Streamly.Internal.Data.Producer.Source
+                     , Streamly.Internal.Data.Sink.Type
+                     , Streamly.Internal.Data.Parser.ParserK.Type
+                     , Streamly.Internal.Data.Parser.ParserD.Type
+                     , Streamly.Internal.Data.Pipe.Type
+
+                    -- Unboxed IORef
+                     , Streamly.Internal.Data.IORef.Prim
+
+                     -- streamly-core-array
+                     -- May depend on streamly-core-stream
+                     , Streamly.Internal.Data.Array.Foreign.Mut.Type
+                     , Streamly.Internal.Data.Array.Foreign.Mut
+                     , Streamly.Internal.Data.Array.Foreign.Type
+                     , Streamly.Internal.Data.Array.Prim.Mut.Type
+                     , Streamly.Internal.Data.Array.Prim.Type
+                     , Streamly.Internal.Data.Array.Prim.Pinned.Mut.Type
+                     , Streamly.Internal.Data.Array.Prim.Pinned.Type
+                     , Streamly.Internal.Data.SmallArray.Type
+
+                     -- streamly-base-streams
+                     -- StreamD depends on streamly-core-array
+                     , Streamly.Internal.Data.Stream.StreamD.Generate
+                     , Streamly.Internal.Data.Stream.StreamD.Eliminate
+                     , Streamly.Internal.Data.Stream.StreamD.Nesting
+                     , Streamly.Internal.Data.Stream.StreamD.Transform
+                     , Streamly.Internal.Data.Stream.StreamD.Exception
+                     , Streamly.Internal.Data.Stream.StreamD.Lift
+                     , Streamly.Internal.Data.Stream.StreamD
+                     , Streamly.Internal.Data.Stream.StreamDK
+                     , Streamly.Internal.Data.Stream.Prelude
+
+                     , Streamly.Internal.Data.Parser.ParserD.Tee
+                     , Streamly.Internal.Data.Parser.ParserD
+
+                     -- streamly-core
+                     , Streamly.Internal.Data.Unfold
+                     , Streamly.Internal.Data.Unfold.SVar
+                     , Streamly.Internal.Data.Unfold.Enumeration
+                     , Streamly.Internal.Data.Fold.Tee
+                     , Streamly.Internal.Data.Fold
+                     , Streamly.Internal.Data.Fold.SVar
+                     , Streamly.Internal.Data.Fold.Async
+                     , Streamly.Internal.Data.Sink
+                     , Streamly.Internal.Data.Parser
+                     , Streamly.Internal.Data.Pipe
+
+                     , Streamly.Internal.Data.Stream.SVar.Generate
+                     , Streamly.Internal.Data.Stream.SVar.Eliminate
+                     , Streamly.Internal.Data.Stream.Serial
+                     , Streamly.Internal.Data.Stream.Async
+                     , Streamly.Internal.Data.Stream.Parallel
+                     , Streamly.Internal.Data.Stream.Ahead
+                     , Streamly.Internal.Data.Stream.Zip
+                     , Streamly.Internal.Data.List
+
+                     , Streamly.Internal.Data.Stream.IsStream.Type
+                     , Streamly.Internal.Data.Stream.IsStream.Combinators
+                     , Streamly.Internal.Data.Stream.IsStream.Common
+                     , Streamly.Internal.Data.Stream.IsStream.Enumeration
+                     , Streamly.Internal.Data.Stream.IsStream.Generate
+                     , Streamly.Internal.Data.Stream.IsStream.Eliminate
+                     , Streamly.Internal.Data.Stream.IsStream.Transform
+                     , Streamly.Internal.Data.Stream.IsStream.Expand
+                     , Streamly.Internal.Data.Stream.IsStream.Reduce
+                     , Streamly.Internal.Data.Stream.IsStream.Exception
+                     , Streamly.Internal.Data.Stream.IsStream.Lift
+                     , Streamly.Internal.Data.Stream.IsStream.Top
+                     , Streamly.Internal.Data.Stream.IsStream
+
+                     -- streamly-arrays
+                     -- May depend on streamly-core
+                     , Streamly.Internal.Data.Array
+                     , Streamly.Internal.Data.Array.Foreign
+                     , Streamly.Internal.Data.Array.Prim
+                     , Streamly.Internal.Data.Array.Prim.Pinned
+                     , Streamly.Internal.Data.SmallArray
+                     , Streamly.Internal.Data.Array.Stream.Mut.Foreign
+                     , Streamly.Internal.Data.Array.Stream.Foreign
+                     , Streamly.Internal.Data.Array.Stream.Fold.Foreign
+
+                    -- Memory storage
+                     , Streamly.Internal.Ring.Foreign
+                     , Streamly.Internal.Data.Ring
+
+                     -- IOVec (depends on arrays/streams)
+                     , Streamly.Internal.System.IOVec
+
+                     -- streamly-unicode
+                     , Streamly.Internal.Unicode.Stream
+                     , Streamly.Internal.Unicode.Utf8
+                     , Streamly.Internal.Unicode.Char
+                     , Streamly.Internal.Unicode.Char.Parser
+                     , Streamly.Internal.Unicode.Array.Char
+                     , Streamly.Internal.Unicode.Array.Prim.Pinned
+
+                     -- streamly-serde
+                     , Streamly.Internal.Data.Binary.Decode
+
+                     -- streamly-filesystem
+                     , Streamly.Internal.FileSystem.Handle
+                     , Streamly.Internal.FileSystem.Dir
+                     , Streamly.Internal.FileSystem.File
+                     , Streamly.Internal.FileSystem.FDIO
+                     , Streamly.Internal.FileSystem.FD
+
+                     -- streamly-console
+                     , Streamly.Internal.Console.Stdio
+
+                     -- streamly-network
+                     , Streamly.Internal.Network.Socket
+                     , Streamly.Internal.Network.Inet.TCP
+
+                     -- Only used for benchmarks
+                     , Streamly.Internal.Data.Stream.StreamK
+
+    build-depends:
+                    -- Core libraries shipped with ghc, the min and max
+                    -- constraints of these libraries should match with
+                    -- the GHC versions we support. This is to make sure that
+                    -- packages depending on the "ghc" package (packages
+                    -- depending on doctest is a common example) can
+                    -- depend on streamly.
+                       base              >= 4.9   && < 4.17
+                     , containers        >= 0.5   && < 0.7
+                     , deepseq           >= 1.4.1 && < 1.5
+                     , directory         >= 1.2.2 && < 1.4
+                     , exceptions        >= 0.8   && < 0.11
+                     , ghc-prim          >= 0.2   && < 0.9
+                     , mtl               >= 2.2   && < 2.3
+                     , primitive         >= 0.5.4 && < 0.8
+                     , transformers      >= 0.4   && < 0.7
+                     , heaps             >= 0.3     && < 0.5
+                     , filepath          >= 1.2.0.0 && < 1.5
+                    -- concurrency
+                     , atomic-primops    >= 0.8   && < 0.9
+                     , lockfree-queue    >= 0.2.3 && < 0.3
+                    -- transfomers
+                     , monad-control     >= 1.0   && < 1.1
+                     , transformers-base >= 0.4   && < 0.5
+                     , fusion-plugin-types >= 0.1 && < 0.2
+                     , unicode-data      >= 0.1   && < 0.4
+                    -- Network
+                     , network           >= 2.6   && < 3.2
+
+
+  if flag(inspection)
+    build-depends:     template-haskell   >= 2.14  && < 2.17
+                     , inspection-testing >= 0.4   && < 0.5
+
+  -- Array uses a Storable constraint in dev build making several inspection
+  -- tests fail
+  if flag(dev) && flag(inspection)
+    build-depends: inspection-and-dev-flags-cannot-be-used-together