on aaa775b help sign in
streamly/streamly.cabal
688 lines 27 kB history raw
1cabal-version: 2.2
2name: streamly
3version: 0.8.2
4synopsis: Dataflow programming and declarative concurrency
5description:
6 Browse the documentation at https://streamly.composewell.com.
7 .
8 Streamly is a streaming framework to build reliable and scalable
9 software systems from modular building blocks using dataflow
10 programming and declarative concurrency. Stream fusion optimizations
11 in streamly result in high-performance, modular combinatorial
12 programming.
13 .
14 Performance with simplicity:
15 .
16 * Performance on par with C (<https://github.com/composewell/streaming-benchmarks Benchmarks>)
17 * API close to standard Haskell lists (<https://github.com/composewell/streamly-examples Examples>)
18 * Declarative concurrency with automatic scaling
19 * Filesystem, fsnotify, network, and Unicode support included
20 * More functionality provided via many ecosystem packages
21 .
22 Unified and powerful abstractions:
23 .
24 * Unifies unfolds, arrays, folds, and parsers with streaming
25 * Unifies @Data.List@, @list-t@, and @logict@ with streaming
26 * Unifies concurrency with standard streaming abstractions
27 * Provides time-domain combinators for reactive programming
28 * Interworks with bytestring and streaming libraries
30homepage: https://streamly.composewell.com
31bug-reports: https://github.com/composewell/streamly/issues
32license: BSD-3-Clause
33license-file: LICENSE
34tested-with: GHC==8.4.4
35 , GHC==8.6.5
36 , GHC==8.8.4
37 , GHC==8.10.7
38 , GHC==9.0.2
39 , GHC==9.2.2
40author: Composewell Technologies
41maintainer: streamly@composewell.com
42copyright: 2017 Composewell Technologies
43category:
44 Streamly, Concurrency, Streaming, Dataflow, Pipes, Reactivity, List,
45 Logic, Non-determinism, Parsing, Array, Time, Unicode, Filesystem,
46 Network
47stability: Stable
48build-type: Configure
50extra-source-files:
51 benchmark/*.hs
52 benchmark/bench-runner/Main.hs
53 benchmark/bench-runner/bench-runner.cabal
54 benchmark/Streamly/Benchmark/Data/*.hs
55 benchmark/Streamly/Benchmark/Data/Array/Common.hs
56 benchmark/Streamly/Benchmark/Data/Array/CommonImports.hs
57 benchmark/Streamly/Benchmark/Data/Array/SmallArray.hs
58 benchmark/Streamly/Benchmark/Data/Array/Foreign.hs
59 benchmark/Streamly/Benchmark/Data/Array/Foreign/Mut.hs
60 benchmark/Streamly/Benchmark/Data/Array/Prim.hs
61 benchmark/Streamly/Benchmark/Data/Array/Prim/Pinned.hs
62 benchmark/Streamly/Benchmark/Data/Array/Stream/Foreign.hs
63 benchmark/Streamly/Benchmark/Data/Fold/Window.hs
64 benchmark/Streamly/Benchmark/Data/Parser/*.hs
65 benchmark/Streamly/Benchmark/Data/Stream/*.hs
66 benchmark/Streamly/Benchmark/FileSystem/*.hs
67 benchmark/Streamly/Benchmark/FileSystem/Handle/*.hs
68 benchmark/Streamly/Benchmark/Prelude/*.hs
69 benchmark/Streamly/Benchmark/Prelude/Serial/*.hs
70 benchmark/Streamly/Benchmark/Unicode/*.hs
71 benchmark/lib/Streamly/Benchmark/*.hs
72 benchmark/lib/Streamly/Benchmark/Common/*.hs
73 benchmark/streamly-benchmarks.cabal
74 bin/mk-hscope.sh
75 bin/mk-tags.sh
76 configure
77 configure.ac
78 docs/*.hs
79 docs/streamly-docs.cabal
80 targets/streamly-targets.cabal
81 targets/Targets.hs
82 test/test-runner/Main.hs
83 test/test-runner/test-runner.cabal
85 -- This is duplicated
86 src/Streamly/Internal/Data/Stream/Instances.hs
87 src/Streamly/Internal/Data/Array/ArrayMacros.h
89 src/Streamly/Internal/Data/Array/PrimInclude.hs
90 src/Streamly/Internal/Data/Array/Prim/TypesInclude.hs
91 src/Streamly/Internal/Data/Array/Prim/MutTypesInclude.hs
92 src/Streamly/Internal/FileSystem/Event/Darwin.h
93 src/config.h.in
94 src/inline.hs
95 test/Streamly/Test/Data/*.hs
96 test/Streamly/Test/Data/Array/CommonImports.hs
97 test/Streamly/Test/Data/Array/Common.hs
98 test/Streamly/Test/Data/Array/Prim.hs
99 test/Streamly/Test/Data/Array/Prim/Pinned.hs
100 test/Streamly/Test/Data/Array/Foreign.hs
101 test/Streamly/Test/Data/Array/Stream/Foreign.hs
102 test/Streamly/Test/Data/Parser/ParserD.hs
103 test/Streamly/Test/FileSystem/Event.hs
104 test/Streamly/Test/FileSystem/Event/Common.hs
105 test/Streamly/Test/FileSystem/Event/Darwin.hs
106 test/Streamly/Test/FileSystem/Event/Windows.hs
107 test/Streamly/Test/FileSystem/Event/Linux.hs
108 test/Streamly/Test/FileSystem/Handle.hs
109 test/Streamly/Test/Network/Socket.hs
110 test/Streamly/Test/Network/Inet/TCP.hs
111 test/Streamly/Test/Prelude.hs
112 test/Streamly/Test/Prelude/*.hs
113 test/Streamly/Test/Unicode/*.hs
114 test/Streamly/Test/Data/Fold/*.hs
115 test/lib/Streamly/Test/Common.hs
116 test/lib/Streamly/Test/Prelude/Common.hs
117 test/streamly-tests.cabal
118 test/version-bounds.hs
119 test/Streamly/Test/Unicode/ucd/NormalizationTest.txt
120 test/Streamly/Test/Unicode/extra/NormalizationTest.txt
121 benchmark/Streamly/Benchmark/Unicode/data/AllChars.txt
122 benchmark/Streamly/Benchmark/Unicode/data/Devanagari.txt
123 benchmark/Streamly/Benchmark/Unicode/data/Japanese.txt
124 benchmark/Streamly/Benchmark/Unicode/data/Vietnamese.txt
125 benchmark/Streamly/Benchmark/Unicode/data/Deutsch.txt
126 benchmark/Streamly/Benchmark/Unicode/data/English.txt
127 benchmark/Streamly/Benchmark/Unicode/data/Korean.txt
129 -- Include streamly-core when packaging
130 -- This is temporary as we will soon break this package out
131 core/configure
132 core/configure.ac
133 core/src/Streamly/Internal/Data/Stream/Instances.hs
134 core/src/Streamly/Internal/Data/Array/ArrayMacros.h
135 core/src/inline.hs
136 core/src/Streamly/Internal/Data/Time/Clock/config-clock.h
137 core/src/config.h.in
138 core/src/Streamly/Internal/BaseCompat.hs
139 core/src/Streamly/Internal/Control/Exception.hs
140 core/src/Streamly/Internal/Control/Monad.hs
141 core/src/Streamly/Internal/Control/ForkIO.hs
142 core/src/Streamly/Internal/Data/Cont.hs
143 core/src/Streamly/Internal/Foreign/Malloc.hs
144 core/src/Streamly/Internal/System/IO.hs
145 core/src/Streamly/Internal/Data/IsMap.hs
146 core/src/Streamly/Internal/Data/Tuple/Strict.hs
147 core/src/Streamly/Internal/Data/Maybe/Strict.hs
148 core/src/Streamly/Internal/Data/Either/Strict.hs
149 core/src/Streamly/Internal/Control/Concurrent.hs
150 core/src/Streamly/Internal/Control/ForkLifted.hs
151 core/src/Streamly/Internal/Data/IOFinalizer.hs
152 core/src/Streamly/Internal/Data/Time/TimeSpec.hsc
153 core/src/Streamly/Internal/Data/Time/Units.hs
154 core/src/Streamly/Internal/Data/Time/Clock/Type.hsc
155 core/src/Streamly/Internal/Data/Time/Clock.hs
156 core/src/Streamly/Internal/Data/SVar/Type.hs
157 core/src/Streamly/Internal/Data/Stream/StreamK/Type.hs
158 core/src/Streamly/Internal/Data/Fold/Step.hs
159 core/src/Streamly/Internal/Data/Refold/Type.hs
160 core/src/Streamly/Internal/Data/Fold/Type.hs
161 core/src/Streamly/Internal/Data/Stream/StreamD/Step.hs
162 core/src/Streamly/Internal/Data/Stream/StreamD/Type.hs
163 core/src/Streamly/Internal/Data/Stream/StreamDK/Type.hs
164 core/src/Streamly/Internal/Data/Unfold/Type.hs
165 core/src/Streamly/Internal/Data/Producer/Type.hs
166 core/src/Streamly/Internal/Data/Producer.hs
167 core/src/Streamly/Internal/Data/Producer/Source.hs
168 core/src/Streamly/Internal/Data/Parser/ParserK/Type.hs
169 core/src/Streamly/Internal/Data/Parser/ParserD/Type.hs
170 core/src/Streamly/Internal/Data/Pipe/Type.hs
171 core/src/Streamly/Internal/Data/IORef/Prim.hs
172 core/src/Streamly/Internal/Data/Array/Foreign/Mut/Type.hs
173 core/src/Streamly/Internal/Data/Array/Foreign/Mut.hs
174 core/src/Streamly/Internal/Data/Array/Foreign/Type.hs
175 core/src/Streamly/Internal/Data/Array/Mut/Type.hs
176 core/src/Streamly/Internal/Data/Stream/StreamD/Generate.hs
177 core/src/Streamly/Internal/Data/Stream/StreamD/Eliminate.hs
178 core/src/Streamly/Internal/Data/Stream/StreamD/Nesting.hs
179 core/src/Streamly/Internal/Data/Stream/StreamD/Transform.hs
180 core/src/Streamly/Internal/Data/Stream/StreamD/Exception.hs
181 core/src/Streamly/Internal/Data/Stream/StreamD/Lift.hs
182 core/src/Streamly/Internal/Data/Stream/StreamD.hs
183 core/src/Streamly/Internal/Data/Stream/StreamDK.hs
184 core/src/Streamly/Internal/Data/Stream/Common.hs
185 core/src/Streamly/Internal/Data/Parser/ParserD/Tee.hs
186 core/src/Streamly/Internal/Data/Parser/ParserD.hs
187 core/src/Streamly/Internal/Data/Unfold.hs
188 core/src/Streamly/Internal/Data/Unfold/Enumeration.hs
189 core/src/Streamly/Internal/Data/Fold/Tee.hs
190 core/src/Streamly/Internal/Data/Fold.hs
192 core/src/Streamly/Internal/Data/Parser.hs
193 core/src/Streamly/Internal/Data/Pipe.hs
194 core/src/Streamly/Internal/Data/Stream/Serial.hs
195 core/src/Streamly/Internal/Data/Stream/WSerial.hs
196 core/src/Streamly/Internal/Data/Stream/Zip.hs
197 core/src/Streamly/Internal/Data/List.hs
198 core/src/Streamly/Internal/Data/Array.hs
199 core/src/Streamly/Internal/Data/Array/Foreign.hs
200 core/src/Streamly/Internal/Data/Array/Stream/Mut/Foreign.hs
201 core/src/Streamly/Internal/Data/Array/Stream/Fold/Foreign.hs
202 core/src/Streamly/Internal/Data/Ring/Foreign.hs
203 core/src/Streamly/Internal/Data/Ring.hs
204 core/src/Streamly/Internal/Data/Stream/StreamK.hs
205 core/src/Streamly/Data/Fold.hs
206 core/src/Streamly/Data/Fold/Tee.hs
207 core/src/Streamly/Internal/Data/Fold/Window.hs
208 core/src/Streamly/Data/Array/Foreign.hs
209 core/src/Streamly/Internal/Data/Time/Clock/Darwin.c
210 core/src/Streamly/Internal/Data/Time/Clock/Windows.c
211 core/streamly-core.cabal
212 core/jsbits/clock.js
213 core/Setup.hs
215extra-doc-files:
216 CONTRIBUTING.md
217 CHANGELOG.md
218 README.md
219 benchmark/README.md
220 docs/Developer/Benchmarks.md
221 docs/Developer/*.png
222 docs/Developer/*.md
223 docs/Developer/*.rst
224 docs/Developer/*.png
225 docs/Developer/*.md
226 docs/Developer/*.rst
227 docs/User/*.md
228 docs/User/Tutorials/*.md
229 docs/User/Tutorials/*.hs
230 docs/User/HowTo/*.md
231 docs/User/HowTo/*.svg
232 docs/User/Explanatory/*.md
233 docs/User/Explanatory/streaming-pradigms.rst
234 docs/User/ProjectRelated/*.md
235 docs/User/ProjectRelated/Roadmap.link
236 docs/User/ProjectRelated/API-changelog.txt
237 test/README.md
238 docs/Developer/Tests.md
240extra-tmp-files:
241 config.log
242 config.status
243 autom4te.cache
244 src/config.h
246source-repository head
247 type: git
248 location: https://github.com/composewell/streamly
250flag fusion-plugin
251 description: Use fusion plugin for benchmarks and executables
252 manual: True
253 default: False
255flag inspection
256 description: Enable inspection testing
257 manual: True
258 default: False
260flag debug
261 description: Debug build with asserts enabled
262 manual: True
263 default: False
265flag dev
266 description: Development build
267 manual: True
268 default: False
270flag has-llvm
271 description: Use llvm backend for code generation
272 manual: True
273 default: False
275flag streamk
276 description: Use CPS style streams when possible
277 manual: True
278 default: False
280flag use-c-malloc
281 description: Use C malloc instead of GHC malloc
282 manual: True
283 default: False
285flag opt
286 description: off=GHC default, on=-O2
287 manual: True
288 default: True
290flag limit-build-mem
291 description: Limits memory when building
292 manual: True
293 default: False
295-------------------------------------------------------------------------------
296-- Common stanzas
297-------------------------------------------------------------------------------
299common compile-options
300 default-language: Haskell2010
302 if os(darwin)
303 cpp-options: -DCABAL_OS_DARWIN
305 if os(linux)
306 cpp-options: -DCABAL_OS_LINUX
308 if os(windows)
309 cpp-options: -DCABAL_OS_WINDOWS
311 if flag(streamk)
312 cpp-options: -DUSE_STREAMK_ONLY
314 if flag(dev)
315 cpp-options: -DDEVBUILD
317 if flag(inspection)
318 cpp-options: -DINSPECTION
320 if flag(use-c-malloc)
321 cpp-options: -DUSE_C_MALLOC
323 ghc-options: -Wall
324 -Wcompat
325 -Wunrecognised-warning-flags
326 -Widentities
327 -Wincomplete-record-updates
328 -Wincomplete-uni-patterns
329 -Wredundant-constraints
330 -Wnoncanonical-monad-instances
331 -Wmissing-export-lists
332 -Rghc-timing
334 if flag(has-llvm)
335 ghc-options: -fllvm
337 if flag(dev)
338 ghc-options: -Wmissed-specialisations
339 -Wall-missed-specialisations
341 if flag(limit-build-mem)
342 ghc-options: +RTS -M1000M -RTS
344common default-extensions
345 default-extensions:
346 BangPatterns
347 CApiFFI
348 CPP
349 ConstraintKinds
350 DeriveDataTypeable
351 DeriveGeneric
352 DeriveTraversable
353 ExistentialQuantification
354 FlexibleContexts
355 FlexibleInstances
356 GeneralizedNewtypeDeriving
357 InstanceSigs
358 KindSignatures
359 LambdaCase
360 MagicHash
361 MultiParamTypeClasses
362 PatternSynonyms
363 RankNTypes
364 RecordWildCards
365 ScopedTypeVariables
366 TupleSections
367 TypeApplications
368 TypeFamilies
369 ViewPatterns
371 -- MonoLocalBinds, enabled by TypeFamilies, causes performance
372 -- regressions. Disable it. This must come after TypeFamilies,
373 -- otherwise TypeFamilies will enable it again.
374 NoMonoLocalBinds
376 -- UndecidableInstances -- Does not show any perf impact
377 -- UnboxedTuples -- interferes with (#.)
379common optimization-options
380 if flag(opt)
381 ghc-options: -O2
382 -fdicts-strict
383 -fspec-constr-recursive=16
384 -fmax-worker-args=16
386 -- For this to be effective it must come after the -O2 option
387 if flag(dev) || flag(debug) || !flag(opt)
388 ghc-options: -fno-ignore-asserts
390common threading-options
391 ghc-options: -threaded
392 -with-rtsopts=-N
394-- We need optimization options here to optimize internal (non-inlined)
395-- versions of functions. Also, we have some benchmarking inspection tests
396-- part of the library when built with --benchmarks flag. Thos tests fail
397-- if we do not use optimization options here. It was observed that due to
398-- -O2 here some concurrent/nested benchmarks improved and others regressed.
399-- We can investigate a bit more here why the regression occurred.
400common lib-options
401 import: compile-options, optimization-options, default-extensions
403-------------------------------------------------------------------------------
404-- Library
405-------------------------------------------------------------------------------
407library
408 import: lib-options
410 if impl(ghc >= 8.6)
411 default-extensions: QuantifiedConstraints
413 include-dirs:
414 src
415 , src/Streamly/Internal/Data/Stream
416 , src/Streamly/Internal/Data/Array
418 hs-source-dirs: src
419 exposed-modules:
420 -- Internal modules, listed roughly in bottom up
421 -- dependency order To view dependency graph:
422 -- graphmod | dot -Tps > deps.ps
424 -- XXX To be moved to streamly-core
425 Streamly.Data.Unfold
427 -- XXX To be removed or put under dev flag
428 , Streamly.Internal.Data.Array.Prim.Mut.Type
429 , Streamly.Internal.Data.Array.Prim.Type
430 , Streamly.Internal.Data.Array.Prim.Pinned.Mut.Type
431 , Streamly.Internal.Data.Array.Prim.Pinned.Type
432 , Streamly.Internal.Data.SmallArray.Type
433 , Streamly.Internal.Data.Array.Prim
434 , Streamly.Internal.Data.Array.Prim.Pinned
435 , Streamly.Internal.Data.SmallArray
437 -- streamly-concurrent
438 , Streamly.Internal.Data.Atomics
439 , Streamly.Internal.Data.SVar.Worker
440 , Streamly.Internal.Data.SVar.Dispatch
441 , Streamly.Internal.Data.SVar.Pull
442 , Streamly.Internal.Data.SVar
444 , Streamly.Internal.Data.Unfold.SVar
445 , Streamly.Internal.Data.Fold.SVar
446 , Streamly.Internal.Data.Fold.Async
447 , Streamly.Internal.Data.Stream.SVar.Generate
448 , Streamly.Internal.Data.Stream.SVar.Eliminate
450 , Streamly.Internal.Data.Stream.Async
451 , Streamly.Internal.Data.Stream.Parallel
452 , Streamly.Internal.Data.Stream.Ahead
453 , Streamly.Internal.Data.Stream.ZipAsync
455 , Streamly.Internal.Data.Stream.IsStream.Type
456 , Streamly.Internal.Data.Stream.IsStream.Combinators
457 , Streamly.Internal.Data.Stream.IsStream.Common
458 , Streamly.Internal.Data.Stream.IsStream.Enumeration
459 , Streamly.Internal.Data.Stream.IsStream.Generate
460 , Streamly.Internal.Data.Stream.IsStream.Eliminate
461 , Streamly.Internal.Data.Stream.IsStream.Transform
462 , Streamly.Internal.Data.Stream.IsStream.Expand
463 , Streamly.Internal.Data.Stream.IsStream.Reduce
464 , Streamly.Internal.Data.Stream.IsStream.Exception
465 , Streamly.Internal.Data.Stream.IsStream.Lift
466 , Streamly.Internal.Data.Stream.IsStream.Top
467 , Streamly.Internal.Data.Stream.IsStream
469 , Streamly.Internal.Data.Array.Stream.Foreign
471 -- streamly-serde
472 , Streamly.Internal.Data.Binary.Decode
474 -- streamly-unicode
475 , Streamly.Internal.Unicode.Stream
476 , Streamly.Internal.Unicode.Utf8
477 , Streamly.Internal.Unicode.Char
478 , Streamly.Internal.Unicode.Char.Parser
479 , Streamly.Internal.Unicode.Array.Char
480 , Streamly.Internal.Unicode.Array.Prim.Pinned
482 -- streamly-filesystem
483 , Streamly.Internal.System.IOVec.Type
484 , Streamly.Internal.System.IOVec
485 , Streamly.Internal.FileSystem.Handle
486 , Streamly.Internal.FileSystem.Dir
487 , Streamly.Internal.FileSystem.File
488 , Streamly.Internal.FileSystem.FDIO
489 , Streamly.Internal.FileSystem.FD
491 -- streamly-console
492 , Streamly.Internal.Console.Stdio
494 -- streamly-network
495 , Streamly.Internal.Network.Socket
496 , Streamly.Internal.Network.Inet.TCP
498 -- Exposed modules
499 , Streamly.Prelude
501 -- Text Processing
502 , Streamly.Unicode.Stream
504 -- Filesystem/IO
505 , Streamly.FileSystem.Handle
506 , Streamly.Console.Stdio
508 -- Network/IO
509 , Streamly.Network.Socket
510 , Streamly.Network.Inet.TCP
512 -- Deprecated
513 , Streamly
514 , Streamly.Data.Unicode.Stream
515 , Streamly.Memory.Array
517 reexported-modules:
518 -- Re-exported modules, listed in the order described in
519 -- streamly-core.
521 -- streamly-base
522 Streamly.Internal.BaseCompat
523 , Streamly.Internal.Control.Exception
524 , Streamly.Internal.Control.Monad
525 , Streamly.Internal.Control.ForkIO
526 , Streamly.Internal.Data.Cont
527 , Streamly.Internal.Foreign.Malloc
528 , Streamly.Internal.System.IO
530 -- streamly-strict-data
531 , Streamly.Internal.Data.Tuple.Strict
532 , Streamly.Internal.Data.Maybe.Strict
533 , Streamly.Internal.Data.Either.Strict
535 -- XXX Depends on monad-control or unliftio-core
536 , Streamly.Internal.Control.Concurrent
537 , Streamly.Internal.Control.ForkLifted
538 , Streamly.Internal.Data.IOFinalizer
540 -- streamly-time
541 , Streamly.Internal.Data.Time.TimeSpec
542 , Streamly.Internal.Data.Time.Units
543 , Streamly.Internal.Data.Time.Clock.Type
544 , Streamly.Internal.Data.Time.Clock
546 -- streamly-core-stream-types
547 , Streamly.Internal.Data.SVar.Type
548 , Streamly.Internal.Data.Stream.StreamK.Type
549 , Streamly.Internal.Data.Fold.Step
550 , Streamly.Internal.Data.Refold.Type
551 , Streamly.Internal.Data.Fold.Type
552 , Streamly.Internal.Data.Stream.StreamD.Step
553 , Streamly.Internal.Data.Stream.StreamD.Type
554 , Streamly.Internal.Data.Stream.StreamDK.Type
555 , Streamly.Internal.Data.Unfold.Type
556 , Streamly.Internal.Data.Producer.Type
557 , Streamly.Internal.Data.Producer
558 , Streamly.Internal.Data.Producer.Source
560 , Streamly.Internal.Data.Parser.ParserK.Type
561 , Streamly.Internal.Data.Parser.ParserD.Type
562 , Streamly.Internal.Data.Pipe.Type
564 -- streamly-core-array-types
565 -- Unboxed IORef
566 -- XXX Depends on primitive
567 , Streamly.Internal.Data.IORef.Prim
568 -- May depend on streamly-core-stream
569 , Streamly.Internal.Data.Array.Foreign.Mut.Type
570 , Streamly.Internal.Data.Array.Foreign.Mut
571 , Streamly.Internal.Data.Array.Foreign.Type
572 , Streamly.Internal.Data.Array.Mut.Type
574 -- streamly-core-streams
575 -- StreamD depends on streamly-array-types
576 , Streamly.Internal.Data.Stream.StreamD.Generate
577 , Streamly.Internal.Data.Stream.StreamD.Eliminate
578 , Streamly.Internal.Data.Stream.StreamD.Nesting
579 , Streamly.Internal.Data.Stream.StreamD.Transform
580 , Streamly.Internal.Data.Stream.StreamD.Exception
581 , Streamly.Internal.Data.Stream.StreamD.Lift
582 , Streamly.Internal.Data.Stream.StreamD
583 , Streamly.Internal.Data.Stream.StreamDK
584 , Streamly.Internal.Data.Stream.Common
585 , Streamly.Internal.Data.Parser.ParserD.Tee
586 , Streamly.Internal.Data.Parser.ParserD
588 -- streamly-core-data
589 , Streamly.Internal.Data.Unfold
590 , Streamly.Internal.Data.Unfold.Enumeration
591 , Streamly.Internal.Data.Fold.Tee
592 , Streamly.Internal.Data.Fold
593 , Streamly.Internal.Data.Fold.Window
594 , Streamly.Internal.Data.Parser
595 , Streamly.Internal.Data.Pipe
596 , Streamly.Internal.Data.Stream.Serial
597 , Streamly.Internal.Data.Stream.Zip
598 , Streamly.Internal.Data.List
600 -- streamly-core-data-arrays
601 -- XXX Depends on primitive
602 , Streamly.Internal.Data.Array
603 , Streamly.Internal.Data.Array.Foreign
604 , Streamly.Internal.Data.Array.Stream.Mut.Foreign
605 , Streamly.Internal.Data.Array.Stream.Fold.Foreign
607 -- Ring Arrays
608 , Streamly.Internal.Data.Ring.Foreign
609 -- XXX Depends on primitive
610 , Streamly.Internal.Data.Ring
612 -- Only used for benchmarks
613 , Streamly.Internal.Data.Stream.StreamK
615 -- streamly-core exposed modules
616 , Streamly.Data.Fold
617 , Streamly.Data.Fold.Tee
618 , Streamly.Data.Array.Foreign
620 other-modules:
621 Streamly.Data.Array
622 , Streamly.Data.Prim.Array
623 , Streamly.Data.SmallArray
625 if os(windows)
626 exposed-modules: Streamly.Internal.FileSystem.Event.Windows
628 if os(darwin)
629 include-dirs: src/Streamly/Internal
630 c-sources: src/Streamly/Internal/FileSystem/Event/Darwin.m
631 exposed-modules: Streamly.Internal.FileSystem.Event.Darwin
633 if os(linux)
634 exposed-modules: Streamly.Internal.FileSystem.Event.Linux
636 if os(linux) || os(darwin) || os(windows)
637 exposed-modules: Streamly.Internal.FileSystem.Event
639 build-depends:
640 -- Core libraries shipped with ghc, the min and max
641 -- constraints of these libraries should match with
642 -- the GHC versions we support. This is to make sure that
643 -- packages depending on the "ghc" package (packages
644 -- depending on doctest is a common example) can
645 -- depend on streamly.
646 base >= 4.9 && < 4.17
647 , containers >= 0.5 && < 0.7
648 , deepseq >= 1.4.1 && < 1.5
649 , directory >= 1.2.2 && < 1.4
650 , exceptions >= 0.8 && < 0.11
651 , ghc-prim >= 0.2 && < 0.9
652 , mtl >= 2.2 && < 2.3
653 , transformers >= 0.4 && < 0.7
654 , filepath >= 1.2.0.0 && < 1.5
656 -- The core streamly package
657 , streamly-core == 0.1.0
659 , fusion-plugin-types >= 0.1 && < 0.2
661 -- XXX to be removed
662 , transformers-base >= 0.4 && < 0.5
663 , primitive >= 0.5.4 && < 0.8
664 , heaps >= 0.3 && < 0.5
666 -- concurrency
667 , atomic-primops >= 0.8 && < 0.9
668 , lockfree-queue >= 0.2.3 && < 0.3
670 , unicode-data >= 0.1 && < 0.4
672 -- Network
673 , network >= 2.6 && < 3.2
675 if os(windows)
676 build-depends: Win32 >= 2.6 && < 2.13
678 if os(darwin)
679 frameworks: Cocoa
681 if flag(inspection)
682 build-depends: template-haskell >= 2.14 && < 2.17
683 , inspection-testing >= 0.4 && < 0.5
685 -- Array uses a Storable constraint in dev build making several inspection
686 -- tests fail
687 if flag(dev) && flag(inspection)
688 build-depends: inspection-and-dev-flags-cannot-be-used-together