2019-08-23 05:35:19 +03:00
|
|
|
cabal-version: 2.2
|
2017-11-20 15:33:13 +03:00
|
|
|
name: streamly
|
2020-04-20 14:12:00 +03:00
|
|
|
version: 0.7.2
|
2021-06-02 14:15:09 +03:00
|
|
|
synopsis: Dataflow programming and declarative concurrency
|
2017-12-02 18:39:06 +03:00
|
|
|
description:
|
2021-05-28 17:14:57 +03:00
|
|
|
<https://streamly.composewell.com Streamly> is a framework to build
|
|
|
|
reliable and scalable software systems from modular building blocks
|
2021-06-02 14:15:09 +03:00
|
|
|
using dataflow programming (streaming) and declarative concurrency.
|
2021-05-28 17:14:57 +03:00
|
|
|
Powerful stream fusion framework in streamly allows high-performance,
|
|
|
|
modular combinatorial programming. Key features include:
|
2017-10-20 07:06:00 +03:00
|
|
|
.
|
2021-05-28 17:14:57 +03:00
|
|
|
* Performance on par with C (<https://github.com/composewell/streaming-benchmarks Benchmarks>)
|
|
|
|
* Simple API, similar to standard Haskell lists (<https://github.com/composewell/streamly-examples Examples>)
|
|
|
|
* Declarative concurrency with automatic scaling
|
|
|
|
* Filesystem, fsnotify, network, and Unicode support included
|
2021-04-02 21:05:38 +03:00
|
|
|
* More functionality provided via many ecosystem packages
|
2018-05-04 21:53:03 +03:00
|
|
|
.
|
2021-05-28 17:14:57 +03:00
|
|
|
Simple, unified, and powerful abstractions:
|
|
|
|
.
|
|
|
|
* Unifies streams, arrays, folds, and parsers
|
|
|
|
* Unified streams and arrays obviate the need for text and bytestring
|
|
|
|
* Unifies Data.List, list-t, and logict with streams
|
|
|
|
* Supports numerous time-domain combinators
|
|
|
|
* Interworks with other streaming libraries
|
|
|
|
* Arrays interwork with bytestring
|
2018-05-04 21:53:03 +03:00
|
|
|
.
|
2021-05-28 17:14:57 +03:00
|
|
|
We recommend the better-organized module documentation on the
|
|
|
|
<https://streamly.composewell.com Streamly homepage>.
|
2019-11-14 23:51:34 +03:00
|
|
|
.
|
|
|
|
|
2021-06-02 14:15:09 +03:00
|
|
|
homepage: https://streamly.composewell.com
|
2017-12-05 18:40:43 +03:00
|
|
|
bug-reports: https://github.com/composewell/streamly/issues
|
2019-08-23 05:35:19 +03:00
|
|
|
license: BSD-3-Clause
|
2017-06-07 18:32:27 +03:00
|
|
|
license-file: LICENSE
|
2020-08-11 15:20:41 +03:00
|
|
|
tested-with: GHC==8.0.2
|
2018-12-30 22:17:49 +03:00
|
|
|
, GHC==8.4.4
|
2019-08-27 05:18:30 +03:00
|
|
|
, GHC==8.6.5
|
2021-05-23 16:15:49 +03:00
|
|
|
, GHC==8.8.4
|
|
|
|
, GHC==8.10.4
|
2020-10-26 13:52:12 +03:00
|
|
|
author: Composewell Technologies
|
2019-11-06 19:25:35 +03:00
|
|
|
maintainer: streamly@composewell.com
|
2020-10-26 13:52:12 +03:00
|
|
|
copyright: 2017 Composewell Technologies
|
2017-09-06 06:29:43 +03:00
|
|
|
category: Control, Concurrency, Streaming, Reactivity
|
2017-06-07 18:32:27 +03:00
|
|
|
stability: Experimental
|
2021-02-04 18:20:05 +03:00
|
|
|
build-type: Custom
|
2017-06-07 18:32:27 +03:00
|
|
|
|
2017-12-04 13:39:36 +03:00
|
|
|
extra-source-files:
|
2020-06-03 17:59:10 +03:00
|
|
|
.circleci/config.yml
|
2021-01-16 13:51:58 +03:00
|
|
|
.ghci
|
2020-06-03 17:59:10 +03:00
|
|
|
.github/workflows/haskell.yml
|
|
|
|
.gitignore
|
|
|
|
.hlint.ignore
|
|
|
|
.hlint.yaml
|
|
|
|
.travis.yml
|
2020-06-06 23:07:55 +03:00
|
|
|
CONTRIBUTING.md
|
|
|
|
Changelog.md
|
|
|
|
INSTALL.md
|
|
|
|
MAINTAINING.md
|
|
|
|
README.md
|
2020-06-03 17:59:10 +03:00
|
|
|
appveyor.yml
|
2020-06-06 23:07:55 +03:00
|
|
|
benchmark/*.hs
|
|
|
|
benchmark/README.md
|
|
|
|
benchmark/Streamly/Benchmark/Data/*.hs
|
2021-02-06 12:36:10 +03:00
|
|
|
benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs
|
2020-06-06 23:07:55 +03:00
|
|
|
benchmark/Streamly/Benchmark/Data/Parser/*.hs
|
|
|
|
benchmark/Streamly/Benchmark/Data/Stream/*.hs
|
2020-07-05 10:54:17 +03:00
|
|
|
benchmark/Streamly/Benchmark/FileSystem/*.hs
|
2020-07-08 16:52:00 +03:00
|
|
|
benchmark/Streamly/Benchmark/FileSystem/Handle/*.hs
|
2020-06-06 23:07:55 +03:00
|
|
|
benchmark/Streamly/Benchmark/Prelude/*.hs
|
2020-11-29 10:27:41 +03:00
|
|
|
benchmark/Streamly/Benchmark/Prelude/Serial/*.hs
|
2020-12-07 14:00:13 +03:00
|
|
|
benchmark/Streamly/Benchmark/Unicode/*.hs
|
2020-06-06 23:07:55 +03:00
|
|
|
benchmark/lib/Streamly/Benchmark/*.hs
|
2020-12-09 15:17:20 +03:00
|
|
|
benchmark/lib/Streamly/Benchmark/Common/*.hs
|
2020-06-06 23:07:55 +03:00
|
|
|
benchmark/streamly-benchmarks.cabal
|
2020-12-19 16:05:59 +03:00
|
|
|
bin/bench.sh
|
2020-06-06 23:06:45 +03:00
|
|
|
bin/bench-exec-one.sh
|
2020-12-19 15:43:45 +03:00
|
|
|
bin/build-lib.sh
|
2021-02-10 00:00:04 +03:00
|
|
|
bin/ghc.sh
|
2021-02-09 13:12:45 +03:00
|
|
|
bin/run-ci.sh
|
2020-11-19 18:02:44 +03:00
|
|
|
bin/mk-hscope.sh
|
|
|
|
bin/mk-tags.sh
|
2020-12-19 15:43:45 +03:00
|
|
|
bin/targets.sh
|
|
|
|
bin/test.sh
|
2020-12-05 17:30:59 +03:00
|
|
|
cabal.project
|
2020-06-03 17:59:10 +03:00
|
|
|
cabal.project.ci
|
|
|
|
charts-0/streamly-vs-list-time.svg
|
2020-06-06 23:07:55 +03:00
|
|
|
configure
|
|
|
|
configure.ac
|
2019-01-21 07:36:50 +03:00
|
|
|
credits/*.md
|
2020-06-06 23:07:55 +03:00
|
|
|
credits/Yampa-0.10.6.2.txt
|
2019-11-15 02:14:20 +03:00
|
|
|
credits/base-4.12.0.0.txt
|
|
|
|
credits/bjoern-2008-2009.txt
|
2019-01-21 07:36:50 +03:00
|
|
|
credits/clock-0.7.2.txt
|
|
|
|
credits/foldl-1.4.5.txt
|
2020-10-21 00:47:27 +03:00
|
|
|
credits/fsnotify-0.3.0.1.txt
|
|
|
|
credits/hfsevents-0.1.6.txt
|
2019-01-21 07:36:50 +03:00
|
|
|
credits/pipes-concurrency-2.0.8.txt
|
2020-06-06 23:07:55 +03:00
|
|
|
credits/primitive-0.7.0.0.txt
|
2019-01-21 07:36:50 +03:00
|
|
|
credits/transient-0.5.5.txt
|
|
|
|
credits/vector-0.12.0.2.txt
|
2020-10-12 01:24:21 +03:00
|
|
|
default.nix
|
2019-11-20 14:38:15 +03:00
|
|
|
design/*.md
|
|
|
|
design/*.png
|
2020-06-03 17:59:10 +03:00
|
|
|
design/*.rst
|
2021-05-20 08:14:44 +03:00
|
|
|
docs/Overview.md
|
2020-06-06 23:07:55 +03:00
|
|
|
docs/Build.md
|
|
|
|
docs/streamly-vs-async.md
|
|
|
|
docs/streamly-vs-lists.md
|
|
|
|
docs/transformers.md
|
2020-06-03 17:59:10 +03:00
|
|
|
examples/README.md
|
2019-12-09 13:37:17 +03:00
|
|
|
src/Streamly/Internal/Data/Stream/Instances.hs
|
2021-02-07 11:59:57 +03:00
|
|
|
src/Streamly/Internal/Data/Time/Clock/config-clock.h
|
2020-07-16 15:00:55 +03:00
|
|
|
src/Streamly/Internal/Data/Array/PrimInclude.hs
|
|
|
|
src/Streamly/Internal/Data/Array/Prim/TypesInclude.hs
|
|
|
|
src/Streamly/Internal/Data/Array/Prim/MutTypesInclude.hs
|
2020-08-07 14:05:28 +03:00
|
|
|
src/Streamly/Internal/FileSystem/Event/Darwin.h
|
2020-08-17 01:41:17 +03:00
|
|
|
src/config.h.in
|
2020-06-06 23:07:55 +03:00
|
|
|
src/inline.hs
|
2020-12-12 08:55:53 +03:00
|
|
|
test/README.md
|
2020-11-12 14:08:01 +03:00
|
|
|
test/Streamly/Test/Common/Array.hs
|
2020-12-12 08:55:53 +03:00
|
|
|
test/Streamly/Test/Data/*.hs
|
|
|
|
test/Streamly/Test/Data/Array/Prim.hs
|
|
|
|
test/Streamly/Test/Data/Array/Prim/Pinned.hs
|
2021-02-01 09:33:57 +03:00
|
|
|
test/Streamly/Test/Data/Array/Foreign.hs
|
2020-12-12 08:55:53 +03:00
|
|
|
test/Streamly/Test/Data/Parser/ParserD.hs
|
|
|
|
test/Streamly/Test/FileSystem/Event.hs
|
Add test cases for Data.Fold/Array, FileSystem.Handle
Added the following test cases to Data.Fold:
drain, drainBy, mean, stdDev, variance, mconcat, foldMap, foldMapM,
lookup, mapM, teeWithLength, teeWithMax, distribute, partition, unzip
Added the following test cases to Data.Array.Storable.Foreign
* fromList and fromListN
Added FileSystem.Handle module
2020-11-30 19:10:28 +03:00
|
|
|
test/Streamly/Test/FileSystem/Handle.hs
|
2020-12-31 12:17:25 +03:00
|
|
|
test/Streamly/Test/Network/Socket.hs
|
|
|
|
test/Streamly/Test/Network/Inet/TCP.hs
|
2020-12-12 08:55:53 +03:00
|
|
|
test/Streamly/Test/Prelude.hs
|
|
|
|
test/Streamly/Test/Prelude/*.hs
|
|
|
|
test/Streamly/Test/Unicode/Stream.hs
|
|
|
|
test/lib/Streamly/Test/Common.hs
|
|
|
|
test/lib/Streamly/Test/Prelude/Common.hs
|
|
|
|
test/streamly-tests.cabal
|
|
|
|
test/version-bounds.hs
|
2020-06-06 23:07:55 +03:00
|
|
|
stack.yaml
|
2019-01-11 00:51:02 +03:00
|
|
|
|
|
|
|
extra-tmp-files:
|
|
|
|
config.log
|
|
|
|
config.status
|
|
|
|
autom4te.cache
|
2020-08-17 01:41:17 +03:00
|
|
|
src/config.h
|
2017-12-04 13:39:36 +03:00
|
|
|
|
2017-10-18 09:21:38 +03:00
|
|
|
source-repository head
|
|
|
|
type: git
|
2017-12-05 18:40:43 +03:00
|
|
|
location: https://github.com/composewell/streamly
|
2017-10-18 09:21:38 +03:00
|
|
|
|
2020-01-25 16:19:33 +03:00
|
|
|
flag fusion-plugin
|
2020-02-20 12:38:12 +03:00
|
|
|
description: Use fusion plugin for benchmarks and executables
|
2020-01-25 16:19:33 +03:00
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2019-08-27 18:32:44 +03:00
|
|
|
flag inspection
|
|
|
|
description: Enable inspection testing
|
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2019-11-08 19:44:07 +03:00
|
|
|
flag debug
|
|
|
|
description: Debug build with asserts enabled
|
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2017-09-14 06:10:50 +03:00
|
|
|
flag dev
|
2018-05-27 07:22:00 +03:00
|
|
|
description: Development build
|
2017-09-14 06:10:50 +03:00
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2019-05-16 04:21:23 +03:00
|
|
|
flag has-llvm
|
2020-02-20 12:38:12 +03:00
|
|
|
description: Use llvm backend for code generation
|
2019-05-16 04:21:23 +03:00
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2018-06-24 20:26:40 +03:00
|
|
|
flag no-fusion
|
2020-02-20 12:38:12 +03:00
|
|
|
description: Disable rewrite rules for stream fusion
|
2018-06-24 20:26:40 +03:00
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2018-06-26 07:14:06 +03:00
|
|
|
flag streamk
|
|
|
|
description: Use CPS style streams when possible
|
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2020-08-27 22:11:15 +03:00
|
|
|
flag use-c-malloc
|
|
|
|
description: Use C malloc instead of GHC malloc
|
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
2020-12-12 08:55:53 +03:00
|
|
|
flag opt
|
|
|
|
description: off=GHC default, on=-O2
|
|
|
|
manual: True
|
|
|
|
default: True
|
|
|
|
|
2021-02-04 18:20:05 +03:00
|
|
|
flag doctests
|
|
|
|
description: Build doctests test suite
|
|
|
|
manual: True
|
|
|
|
default: False
|
|
|
|
|
|
|
|
custom-setup
|
|
|
|
setup-depends:
|
|
|
|
base >= 4 && <5,
|
2021-02-09 23:15:11 +03:00
|
|
|
cabal-doctest >= 1 && <1.1,
|
|
|
|
Cabal >= 2.2 && < 4
|
2021-02-04 18:20:05 +03:00
|
|
|
|
2019-08-23 05:35:19 +03:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Common stanzas
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
common compile-options
|
|
|
|
default-language: Haskell2010
|
2020-08-20 18:43:56 +03:00
|
|
|
|
|
|
|
if os(darwin)
|
|
|
|
cpp-options: -DCABAL_OS_DARWIN
|
|
|
|
|
|
|
|
if os(linux)
|
|
|
|
cpp-options: -DCABAL_OS_LINUX
|
|
|
|
|
2020-09-06 14:41:15 +03:00
|
|
|
if os(windows)
|
2020-10-21 00:47:27 +03:00
|
|
|
cpp-options: -DCABAL_OS_WINDOWS
|
2020-09-06 14:41:15 +03:00
|
|
|
|
2019-08-23 05:35:19 +03:00
|
|
|
if flag(streamk)
|
|
|
|
cpp-options: -DUSE_STREAMK_ONLY
|
|
|
|
|
|
|
|
if flag(no-fusion)
|
|
|
|
cpp-options: -DDISABLE_FUSION
|
|
|
|
|
|
|
|
if flag(dev)
|
|
|
|
cpp-options: -DDEVBUILD
|
|
|
|
|
2019-08-27 18:32:44 +03:00
|
|
|
if flag(inspection)
|
|
|
|
cpp-options: -DINSPECTION
|
|
|
|
|
2020-08-27 22:11:15 +03:00
|
|
|
if flag(use-c-malloc)
|
|
|
|
cpp-options: -DUSE_C_MALLOC
|
|
|
|
|
2019-08-23 05:35:19 +03:00
|
|
|
ghc-options: -Wall
|
2020-08-11 15:20:41 +03:00
|
|
|
-Wcompat
|
|
|
|
-Wunrecognised-warning-flags
|
|
|
|
-Widentities
|
|
|
|
-Wincomplete-record-updates
|
|
|
|
-Wincomplete-uni-patterns
|
|
|
|
-Wredundant-constraints
|
|
|
|
-Wnoncanonical-monad-instances
|
2020-10-20 05:51:15 +03:00
|
|
|
-Rghc-timing
|
2019-08-23 05:35:19 +03:00
|
|
|
|
|
|
|
if flag(has-llvm)
|
|
|
|
ghc-options: -fllvm
|
|
|
|
|
|
|
|
if flag(dev)
|
|
|
|
ghc-options: -Wmissed-specialisations
|
|
|
|
-Wall-missed-specialisations
|
2019-11-08 19:44:07 +03:00
|
|
|
|
|
|
|
if flag(dev) || flag(debug)
|
|
|
|
ghc-options: -fno-ignore-asserts
|
|
|
|
|
2020-07-06 05:40:04 +03:00
|
|
|
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
|
2020-07-02 21:07:17 +03:00
|
|
|
TypeFamilies
|
2020-07-06 05:40:04 +03:00
|
|
|
ViewPatterns
|
|
|
|
|
2020-07-02 21:07:17 +03:00
|
|
|
-- MonoLocalBinds, enabled by TypeFamilies, causes performance
|
|
|
|
-- regressions. Disable it. This must come after TypeFamilies,
|
|
|
|
-- otherwise TypeFamilies will enable it again.
|
|
|
|
NoMonoLocalBinds
|
|
|
|
|
2020-07-06 05:40:04 +03:00
|
|
|
-- UndecidableInstances -- Does not show any perf impact
|
|
|
|
-- UnboxedTuples -- interferes with (#.)
|
|
|
|
|
2019-08-23 05:35:19 +03:00
|
|
|
common optimization-options
|
2020-12-12 08:55:53 +03:00
|
|
|
if flag(opt)
|
|
|
|
ghc-options: -O2
|
|
|
|
-fdicts-strict
|
|
|
|
-fspec-constr-recursive=16
|
|
|
|
-fmax-worker-args=16
|
2019-08-23 05:35:19 +03:00
|
|
|
|
|
|
|
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
|
2020-07-06 05:40:04 +03:00
|
|
|
import: compile-options, optimization-options, default-extensions
|
2019-08-23 05:35:19 +03:00
|
|
|
|
2018-05-03 22:57:22 +03:00
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Library
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
|
2017-06-07 18:32:27 +03:00
|
|
|
library
|
2019-08-23 05:35:19 +03:00
|
|
|
import: lib-options
|
2020-06-28 18:40:15 +03:00
|
|
|
|
2020-06-26 18:20:56 +03:00
|
|
|
if impl(ghc >= 8.1)
|
|
|
|
default-extensions: TypeApplications
|
|
|
|
if impl(ghc >= 8.6)
|
|
|
|
default-extensions: QuantifiedConstraints
|
|
|
|
|
2019-01-11 00:51:02 +03:00
|
|
|
js-sources: jsbits/clock.js
|
2020-08-17 01:41:17 +03:00
|
|
|
include-dirs: src
|
2019-01-11 00:51:02 +03:00
|
|
|
if os(windows)
|
2021-02-07 11:59:57 +03:00
|
|
|
c-sources: src/Streamly/Internal/Data/Time/Clock/Windows.c
|
2020-09-06 14:41:15 +03:00
|
|
|
exposed-modules: Streamly.Internal.FileSystem.Event.Windows
|
2020-10-21 00:47:27 +03:00
|
|
|
build-depends: Win32 >= 2.6 && < 2.10
|
2020-08-07 14:05:28 +03:00
|
|
|
|
2019-01-11 00:51:02 +03:00
|
|
|
if os(darwin)
|
2020-08-07 14:05:28 +03:00
|
|
|
frameworks: Cocoa
|
|
|
|
include-dirs: src/Streamly/Internal
|
2021-02-07 11:59:57 +03:00
|
|
|
c-sources: src/Streamly/Internal/Data/Time/Clock/Darwin.c
|
2020-08-16 03:06:35 +03:00
|
|
|
, src/Streamly/Internal/FileSystem/Event/Darwin.m
|
2020-08-07 14:05:28 +03:00
|
|
|
exposed-modules:
|
|
|
|
Streamly.Internal.FileSystem.Event.Darwin
|
|
|
|
|
2020-08-09 12:08:30 +03:00
|
|
|
if os(linux)
|
|
|
|
exposed-modules: Streamly.Internal.FileSystem.Event.Linux
|
|
|
|
|
2017-06-07 18:32:27 +03:00
|
|
|
hs-source-dirs: src
|
2019-09-25 14:45:29 +03:00
|
|
|
other-modules:
|
2020-01-20 15:46:43 +03:00
|
|
|
Streamly.Data.Array
|
2020-08-11 15:20:41 +03:00
|
|
|
, Streamly.Data.Prim.Array
|
2020-01-20 15:46:43 +03:00
|
|
|
, Streamly.Data.SmallArray
|
|
|
|
|
2019-12-10 10:14:57 +03:00
|
|
|
exposed-modules:
|
|
|
|
Streamly.Prelude
|
2019-11-04 19:11:49 +03:00
|
|
|
, Streamly.Data.Unfold
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Data.Fold
|
2021-04-21 14:48:24 +03:00
|
|
|
, Streamly.Data.Fold.Tee
|
2021-02-01 09:33:57 +03:00
|
|
|
, Streamly.Data.Array.Foreign
|
2020-08-27 23:29:00 +03:00
|
|
|
|
|
|
|
-- Text Processing
|
|
|
|
, Streamly.Unicode.Stream
|
2019-05-29 21:49:30 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- Filesystem/IO
|
2019-05-30 06:01:24 +03:00
|
|
|
, Streamly.FileSystem.Handle
|
2021-04-22 15:54:07 +03:00
|
|
|
, Streamly.Console.Stdio
|
2019-05-20 03:47:45 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- Network/IO
|
|
|
|
, Streamly.Network.Socket
|
|
|
|
, Streamly.Network.Inet.TCP
|
|
|
|
|
|
|
|
-- documentation
|
2018-06-22 01:28:16 +03:00
|
|
|
, Streamly.Tutorial
|
2019-09-24 13:02:02 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- Deprecated
|
|
|
|
, Streamly
|
|
|
|
, Streamly.Data.Unicode.Stream
|
|
|
|
, Streamly.Memory.Array
|
|
|
|
|
|
|
|
-- Internal modules, listed roughly in dependency order
|
2021-02-03 00:52:32 +03:00
|
|
|
-- To view dependency graph:
|
|
|
|
-- graphmod | dot -Tps > deps.ps
|
2021-01-17 11:41:21 +03:00
|
|
|
|
|
|
|
-- streamly-base
|
2020-02-18 21:25:28 +03:00
|
|
|
, Streamly.Internal.BaseCompat
|
2020-09-02 06:35:03 +03:00
|
|
|
, Streamly.Internal.Control.Exception
|
2019-11-28 05:08:00 +03:00
|
|
|
, Streamly.Internal.Control.Monad
|
2021-02-05 00:14:37 +03:00
|
|
|
, Streamly.Internal.Control.Concurrent
|
2020-08-11 22:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Cont
|
2020-08-05 20:36:45 +03:00
|
|
|
, Streamly.Internal.Data.Tuple.Strict
|
|
|
|
, Streamly.Internal.Data.Maybe.Strict
|
|
|
|
, Streamly.Internal.Data.Either.Strict
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Internal.Foreign.Malloc
|
2019-09-24 22:49:19 +03:00
|
|
|
, Streamly.Internal.Data.Atomics
|
2021-01-23 18:07:42 +03:00
|
|
|
, Streamly.Internal.Data.IOFinalizer
|
2019-09-25 09:08:14 +03:00
|
|
|
, Streamly.Internal.Data.Time
|
2020-06-28 20:20:46 +03:00
|
|
|
, Streamly.Internal.Data.Time.TimeSpec
|
2019-09-25 09:08:14 +03:00
|
|
|
, Streamly.Internal.Data.Time.Units
|
2021-02-07 11:59:57 +03:00
|
|
|
, Streamly.Internal.Data.Time.Clock.Type
|
2019-09-25 09:08:14 +03:00
|
|
|
, Streamly.Internal.Data.Time.Clock
|
2020-08-27 22:26:05 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-core-stream
|
|
|
|
, Streamly.Internal.Data.SVar
|
|
|
|
, Streamly.Internal.Data.Stream.StreamK.Type
|
2021-03-11 08:27:24 +03:00
|
|
|
, Streamly.Internal.Data.Fold.Type
|
2021-01-22 15:33:37 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Step
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Type
|
|
|
|
, Streamly.Internal.Data.Stream.StreamDK.Type
|
2021-03-11 08:27:24 +03:00
|
|
|
, Streamly.Internal.Data.Unfold.Type
|
2021-02-17 16:41:33 +03:00
|
|
|
, Streamly.Internal.Data.Producer.Type
|
|
|
|
, Streamly.Internal.Data.Producer
|
|
|
|
, Streamly.Internal.Data.Producer.Source
|
2021-03-11 08:27:24 +03:00
|
|
|
, Streamly.Internal.Data.Sink.Type
|
|
|
|
, Streamly.Internal.Data.Parser.ParserK.Type
|
|
|
|
, Streamly.Internal.Data.Parser.ParserD.Type
|
|
|
|
, Streamly.Internal.Data.Pipe.Type
|
2020-04-14 16:52:58 +03:00
|
|
|
|
2021-01-21 01:10:42 +03:00
|
|
|
-- Unboxed IORef
|
|
|
|
, Streamly.Internal.Data.IORef.Prim
|
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-core-array
|
|
|
|
-- May depend on streamly-core-stream
|
2021-03-11 08:27:24 +03:00
|
|
|
, Streamly.Internal.Data.Array.Foreign.Mut.Type
|
|
|
|
, 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
|
2021-01-17 11:41:21 +03:00
|
|
|
|
|
|
|
-- streamly-base-streams
|
2019-12-10 10:14:57 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamK
|
2021-01-21 13:07:25 +03:00
|
|
|
-- StreamD depends on streamly-core-array
|
2020-12-18 10:58:49 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Generate
|
2020-12-20 22:39:57 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Eliminate
|
2021-01-03 02:15:44 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Nesting
|
2020-12-21 12:31:41 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Transform
|
2021-01-03 02:27:25 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Exception
|
2021-01-06 23:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamD.Lift
|
|
|
|
, Streamly.Internal.Data.Stream.StreamD
|
2019-12-23 10:11:00 +03:00
|
|
|
, Streamly.Internal.Data.Stream.StreamDK
|
2019-12-10 10:14:57 +03:00
|
|
|
, Streamly.Internal.Data.Stream.Prelude
|
2020-10-21 00:47:27 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Internal.Data.Parser.ParserD.Tee
|
|
|
|
, Streamly.Internal.Data.Parser.ParserD
|
|
|
|
|
|
|
|
-- streamly-core
|
|
|
|
, Streamly.Internal.Data.Unfold
|
2021-01-22 04:52:15 +03:00
|
|
|
, Streamly.Internal.Data.Fold.Tee
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Internal.Data.Fold
|
|
|
|
, Streamly.Internal.Data.Sink
|
|
|
|
, Streamly.Internal.Data.Parser
|
|
|
|
, Streamly.Internal.Data.Pipe
|
|
|
|
|
2019-12-10 10:14:57 +03:00
|
|
|
, Streamly.Internal.Data.Stream.SVar
|
|
|
|
, 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
|
2021-01-21 01:10:42 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Combinators
|
2021-01-06 23:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Common
|
2021-01-16 17:00:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Types
|
2021-01-16 17:28:25 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Enumeration
|
2021-01-06 23:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Generate
|
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Eliminate
|
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Transform
|
2021-03-12 23:28:47 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Expand
|
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Reduce
|
2021-01-06 23:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Exception
|
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Lift
|
2021-02-03 00:52:32 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream.Top
|
2021-01-06 23:22:14 +03:00
|
|
|
, Streamly.Internal.Data.Stream.IsStream
|
2020-04-14 16:52:58 +03:00
|
|
|
, Streamly.Internal.Data.List
|
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-arrays
|
|
|
|
-- May depend on streamly-core
|
|
|
|
, Streamly.Internal.Data.Array
|
2021-02-01 09:33:57 +03:00
|
|
|
, Streamly.Internal.Data.Array.Foreign
|
2021-01-17 11:41:21 +03:00
|
|
|
, Streamly.Internal.Data.Array.Prim
|
|
|
|
, Streamly.Internal.Data.Array.Prim.Pinned
|
|
|
|
, Streamly.Internal.Data.SmallArray
|
2021-01-22 15:33:37 +03:00
|
|
|
, Streamly.Internal.Data.Array.Stream.Mut.Foreign
|
2021-02-01 10:10:36 +03:00
|
|
|
, Streamly.Internal.Data.Array.Stream.Foreign
|
2021-04-15 16:41:17 +03:00
|
|
|
, Streamly.Internal.Data.Array.Stream.Fold.Foreign
|
2021-02-01 10:10:36 +03:00
|
|
|
|
|
|
|
-- Memory storage
|
|
|
|
, Streamly.Internal.Ring.Foreign
|
2020-04-14 16:52:58 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-unicode
|
2020-08-27 23:00:30 +03:00
|
|
|
, Streamly.Internal.Unicode.Stream
|
2020-08-27 22:50:52 +03:00
|
|
|
, Streamly.Internal.Unicode.Char
|
2020-08-27 23:38:19 +03:00
|
|
|
, Streamly.Internal.Unicode.Array.Char
|
2020-07-16 15:00:55 +03:00
|
|
|
, Streamly.Internal.Unicode.Array.Prim.Pinned
|
2019-12-27 18:29:17 +03:00
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-serde
|
2020-08-07 15:48:58 +03:00
|
|
|
, Streamly.Internal.Data.Binary.Decode
|
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-filesystem
|
|
|
|
, Streamly.Internal.FileSystem.Handle
|
|
|
|
, Streamly.Internal.FileSystem.Dir
|
|
|
|
, Streamly.Internal.FileSystem.File
|
2021-02-01 10:10:36 +03:00
|
|
|
, Streamly.Internal.FileSystem.IOVec
|
|
|
|
, Streamly.Internal.FileSystem.FDIO
|
|
|
|
, Streamly.Internal.FileSystem.FD
|
2017-11-21 18:06:01 +03:00
|
|
|
|
2021-04-22 15:54:07 +03:00
|
|
|
-- streamly-console
|
|
|
|
, Streamly.Internal.Console.Stdio
|
|
|
|
|
2021-01-17 11:41:21 +03:00
|
|
|
-- streamly-network
|
2019-09-30 20:55:43 +03:00
|
|
|
, Streamly.Internal.Network.Socket
|
2019-10-14 10:49:06 +03:00
|
|
|
, Streamly.Internal.Network.Inet.TCP
|
2019-09-30 16:42:58 +03:00
|
|
|
|
2020-01-06 10:36:57 +03:00
|
|
|
build-depends:
|
|
|
|
-- Core libraries shipped with ghc, the min and max
|
|
|
|
-- constraints of these libraries should match with
|
|
|
|
-- the GHC versions we support
|
2020-08-11 15:20:41 +03:00
|
|
|
base >= 4.9 && < 5
|
2020-01-06 10:36:57 +03:00
|
|
|
, containers >= 0.5 && < 0.7
|
2019-06-15 21:31:33 +03:00
|
|
|
, deepseq >= 1.4.1 && < 1.5
|
2020-02-06 16:01:17 +03:00
|
|
|
, directory >= 1.2.2 && < 1.4
|
2020-02-07 15:23:31 +03:00
|
|
|
, exceptions >= 0.8 && < 0.11
|
2021-02-10 14:28:03 +03:00
|
|
|
, ghc-prim >= 0.2 && < 0.8
|
2020-02-07 15:23:31 +03:00
|
|
|
, mtl >= 2.2 && < 3
|
|
|
|
, primitive >= 0.5.4 && < 0.8
|
2020-01-06 10:36:57 +03:00
|
|
|
, transformers >= 0.4 && < 0.6
|
|
|
|
|
2021-02-10 14:28:03 +03:00
|
|
|
, heaps >= 0.3 && < 0.5
|
2018-05-27 06:25:03 +03:00
|
|
|
|
|
|
|
-- concurrency
|
|
|
|
, atomic-primops >= 0.8 && < 0.9
|
2018-05-17 08:52:29 +03:00
|
|
|
, lockfree-queue >= 0.2.3 && < 0.3
|
|
|
|
|
|
|
|
-- transfomers
|
2017-08-31 03:41:46 +03:00
|
|
|
, monad-control >= 1.0 && < 2
|
|
|
|
, transformers-base >= 0.4 && < 0.5
|
2017-10-20 23:19:14 +03:00
|
|
|
|
2020-02-14 16:45:52 +03:00
|
|
|
, fusion-plugin-types >= 0.1 && < 0.2
|
2020-01-24 13:57:17 +03:00
|
|
|
|
2020-12-23 09:23:37 +03:00
|
|
|
-- Network
|
|
|
|
, network >= 2.6 && < 4
|
|
|
|
|
2020-01-27 23:17:05 +03:00
|
|
|
|
|
|
|
if flag(inspection)
|
2020-04-20 14:33:45 +03:00
|
|
|
build-depends: template-haskell >= 2.14 && < 2.17
|
2020-01-27 23:17:05 +03:00
|
|
|
, inspection-testing >= 0.4 && < 0.5
|
2017-06-07 18:32:27 +03:00
|
|
|
|
2019-12-17 10:27:19 +03:00
|
|
|
-- 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
|
2021-02-04 18:20:05 +03:00
|
|
|
|
|
|
|
test-suite doctests
|
|
|
|
type: exitcode-stdio-1.0
|
|
|
|
main-is: doctests.hs
|
|
|
|
if flag(doctests)
|
|
|
|
build-depends:
|
|
|
|
base
|
|
|
|
, base-compat >=0.10.5 && <0.12
|
|
|
|
, doctest >=0.15 && <0.18
|
|
|
|
, streamly
|
|
|
|
else
|
|
|
|
buildable: False
|
|
|
|
|
|
|
|
ghc-options: -Wall -threaded
|
|
|
|
hs-source-dirs: .
|
|
|
|
default-language: Haskell2010
|