@@ -81,8 +81,7 @@ homepage: https://github.com/composewell/streamly
8181bug-reports: https://github.com/composewell/streamly/issues
8282license: BSD-3-Clause
8383license-file: LICENSE
84−tested-with: GHC==7.10.3
85− , GHC==8.0.2
84+tested-with: GHC==8.0.2
8685 , GHC==8.4.4
8786 , GHC==8.6.5
8887 , GHC==8.8.1
@@ -224,6 +223,13 @@ common compile-options
224223 cpp-options: -DINSPECTION
225224
226225 ghc-options: -Wall
226+ -Wcompat
227+ -Wunrecognised-warning-flags
228+ -Widentities
229+ -Wincomplete-record-updates
230+ -Wincomplete-uni-patterns
231+ -Wredundant-constraints
232+ -Wnoncanonical-monad-instances
227233
228234 if flag(has-llvm)
229235 ghc-options: -fllvm
@@ -235,15 +241,6 @@ common compile-options
235241 if flag(dev) || flag(debug)
236242 ghc-options: -fno-ignore-asserts
237243
238− if impl(ghc >= 8.0)
239− ghc-options: -Wcompat
240− -Wunrecognised-warning-flags
241− -Widentities
242− -Wincomplete-record-updates
243− -Wincomplete-uni-patterns
244− -Wredundant-constraints
245− -Wnoncanonical-monad-instances
246−
247244common default-extensions
248245 default-extensions:
249246 BangPatterns
@@ -316,13 +313,9 @@ common prelude-test-options
316313 hs-source-dirs: test
317314 build-depends:
318315 streamly
319− , base >= 4.8 && < 5
316+ , base >= 4.9 && < 5
320317 , QuickCheck >= 2.10 && < 2.15
321318 , hspec >= 2.0 && < 3
322− if impl(ghc < 8.0)
323− build-depends:
324− transformers >= 0.4 && < 0.6
325− , semigroups >= 0.18 && < 0.19
326319 default-language: Haskell2010
327320
328321-- Used by maxrate test, benchmarks and executables
@@ -355,6 +348,7 @@ library
355348 hs-source-dirs: src
356349 other-modules:
357350 Streamly.Data.Array
351+ , Streamly.Data.Prim.Array
358352 , Streamly.Data.SmallArray
359353
360354 -- Memory storage
@@ -394,6 +388,12 @@ library
394388
395389 -- Arrays
396390 , Streamly.Internal.Data.Array
391+ , Streamly.Internal.Data.Array.Prim.Types
392+ , Streamly.Internal.Data.Array.Prim
393+ , Streamly.Internal.Data.Array.Prim.Mut.Types
394+ , Streamly.Internal.Data.Array.Prim.Pinned.Types
395+ , Streamly.Internal.Data.Array.Prim.Pinned
396+ , Streamly.Internal.Data.Array.Prim.Pinned.Mut.Types
397397 , Streamly.Internal.Data.SmallArray.Types
398398 , Streamly.Internal.Data.SmallArray
399399 , Streamly.Internal.Memory.Mutable.Array.Types
@@ -453,24 +453,8 @@ library
453453 , Streamly.Internal.Data.Unicode.Stream
454454 , Streamly.Internal.Data.Unicode.Char
455455 , Streamly.Internal.Memory.Unicode.Array
456−
457− if impl(ghc >= 8.0)
458− other-modules: Streamly.Data.Prim.Array
459−
460− if impl(ghc >= 8.0)
461− exposed-modules:
462− -- Arrays
463− Streamly.Internal.Data.Array.Prim.Types
464− , Streamly.Internal.Data.Array.Prim
465− , Streamly.Internal.Data.Array.Prim.Mut.Types
466− , Streamly.Internal.Data.Array.Prim.Pinned.Types
467− , Streamly.Internal.Data.Array.Prim.Pinned
468− , Streamly.Internal.Data.Array.Prim.Pinned.Mut.Types
469−
470− -- Text Processing
471456 , Streamly.Internal.Unicode.Array.Prim.Pinned
472457
473−
474458 if !impl(ghcjs)
475459 exposed-modules:
476460 Streamly.Network.Socket
@@ -483,7 +467,7 @@ library
483467 -- Core libraries shipped with ghc, the min and max
484468 -- constraints of these libraries should match with
485469 -- the GHC versions we support
486− base >= 4.8 && < 5
470+ base >= 4.9 && < 5
487471 , containers >= 0.5 && < 0.7
488472 , deepseq >= 1.4.1 && < 1.5
489473 , directory >= 1.2.2 && < 1.4
@@ -508,9 +492,6 @@ library
508492 if !impl(ghcjs)
509493 build-depends:
510494 network >= 2.6 && < 4
511− if impl(ghc < 8.0)
512− build-depends:
513− semigroups >= 0.18 && < 0.19
514495
515496 if flag(inspection)
516497 build-depends: template-haskell >= 2.14 && < 2.17
@@ -533,7 +514,7 @@ test-suite test
533514 hs-source-dirs: test
534515 build-depends:
535516 streamly
536− , base >= 4.8 && < 5
517+ , base >= 4.9 && < 5
537518 , hspec >= 2.0 && < 3
538519 , containers >= 0.5 && < 0.7
539520 , transformers >= 0.4 && < 0.6
@@ -549,7 +530,7 @@ test-suite internal-prelude-test
549530 hs-source-dirs: test
550531 build-depends:
551532 streamly
552− , base >= 4.8 && < 5
533+ , base >= 4.9 && < 5
553534 , QuickCheck >= 2.10 && < 2.15
554535 , hspec >= 2.0 && < 3
555536 default-language: Haskell2010
@@ -561,7 +542,7 @@ test-suite pure-streams-base
561542 hs-source-dirs: test
562543 build-depends:
563544 streamly
564− , base >= 4.8 && < 5
545+ , base >= 4.9 && < 5
565546 , hspec >= 2.0 && < 3
566547 default-language: Haskell2010
567548
@@ -573,7 +554,7 @@ test-suite pure-streams-streamly
573554 cpp-options: -DUSE_STREAMLY_LIST
574555 build-depends:
575556 streamly
576− , base >= 4.8 && < 5
557+ , base >= 4.9 && < 5
577558 , hspec >= 2.0 && < 3
578559 default-language: Haskell2010
579560
@@ -658,12 +639,9 @@ test-suite array-test
658639 cpp-options: -DTEST_ARRAY
659640 build-depends:
660641 streamly
661− , base >= 4.8 && < 5
642+ , base >= 4.9 && < 5
662643 , QuickCheck >= 2.10 && < 2.15
663644 , hspec >= 2.0 && < 3
664− if impl(ghc < 8.0)
665− build-depends:
666− transformers >= 0.4 && < 0.6
667645 default-language: Haskell2010
668646
669647test-suite internal-data-fold-test
@@ -674,7 +652,7 @@ test-suite internal-data-fold-test
674652 hs-source-dirs: test
675653 build-depends:
676654 streamly
677− , base >= 4.8 && < 5
655+ , base >= 4.9 && < 5
678656 , hspec >= 2.0 && < 3
679657 , QuickCheck >= 2.10 && < 2.15
680658 default-language: Haskell2010
@@ -688,7 +666,7 @@ test-suite internal-data-parser-test
688666 hs-source-dirs: test
689667 build-depends:
690668 streamly
691− , base >= 4.8 && < 5
669+ , base >= 4.9 && < 5
692670 , hspec >= 2.0 && < 3
693671 , QuickCheck >= 2.10 && < 2.15
694672 , transformers >= 0.4 && < 0.6
@@ -702,7 +680,7 @@ test-suite internal-data-parser-parserd-test
702680 hs-source-dirs: test
703681 build-depends:
704682 streamly
705− , base >= 4.8 && < 5
683+ , base >= 4.9 && < 5
706684 , hspec >= 2.0 && < 3
707685 , QuickCheck >= 2.10 && < 2.15
708686 , transformers >= 0.4 && < 0.6
@@ -716,12 +694,9 @@ test-suite data-array-test
716694 hs-source-dirs: test
717695 build-depends:
718696 streamly
719− , base >= 4.8 && < 5
697+ , base >= 4.9 && < 5
720698 , QuickCheck >= 2.10 && < 2.15
721699 , hspec >= 2.0 && < 3
722− if impl(ghc < 8.0)
723− build-depends:
724− transformers >= 0.4 && < 0.6
725700 default-language: Haskell2010
726701
727702test-suite smallarray-test
@@ -733,12 +708,9 @@ test-suite smallarray-test
733708 cpp-options: -DTEST_SMALL_ARRAY
734709 build-depends:
735710 streamly
736− , base >= 4.8 && < 5
711+ , base >= 4.9 && < 5
737712 , QuickCheck >= 2.10 && < 2.15
738713 , hspec >= 2.0 && < 3
739− if impl(ghc < 8.0)
740− build-depends:
741− transformers >= 0.4 && < 0.6
742714 default-language: Haskell2010
743715
744716test-suite primarray-test
@@ -750,11 +722,9 @@ test-suite primarray-test
750722 cpp-options: -DDATA_ARRAY_PRIM
751723 build-depends:
752724 streamly
753− , base >= 4.8 && < 5
725+ , base >= 4.9 && < 5
754726 , QuickCheck >= 2.10 && < 2.15
755727 , hspec >= 2.0 && < 3
756− if impl(ghc < 8.0)
757− buildable: False
758728 default-language: Haskell2010
759729
760730test-suite prim-pinned-array-test
@@ -766,11 +736,9 @@ test-suite prim-pinned-array-test
766736 cpp-options: -DDATA_ARRAY_PRIM_PINNED
767737 build-depends:
768738 streamly
769− , base >= 4.8 && < 5
739+ , base >= 4.9 && < 5
770740 , QuickCheck >= 2.10 && < 2.15
771741 , hspec >= 2.0 && < 3
772− if impl(ghc < 8.0)
773− buildable: False
774742 default-language: Haskell2010
775743
776744test-suite string-test
@@ -781,12 +749,9 @@ test-suite string-test
781749 hs-source-dirs: test
782750 build-depends:
783751 streamly
784− , base >= 4.8 && < 5
752+ , base >= 4.9 && < 5
785753 , QuickCheck >= 2.10 && < 2.15
786754 , hspec >= 2.0 && < 3
787− if impl(ghc < 8.0)
788− build-depends:
789− transformers >= 0.4 && < 0.6
790755 default-language: Haskell2010
791756
792757test-suite maxrate
@@ -800,7 +765,7 @@ test-suite maxrate
800765 buildable: True
801766 build-Depends:
802767 streamly
803− , base >= 4.8 && < 5
768+ , base >= 4.9 && < 5
804769 , hspec >= 2.0 && < 3
805770 , random >= 1.0.0 && < 2
806771 else
@@ -814,7 +779,7 @@ test-suite loops
814779 hs-source-dirs: test
815780 build-Depends:
816781 streamly
817− , base >= 4.8 && < 5
782+ , base >= 4.9 && < 5
818783
819784test-suite nested-loops
820785 import: test-options
@@ -824,7 +789,7 @@ test-suite nested-loops
824789 hs-source-dirs: test
825790 build-Depends:
826791 streamly
827− , base >= 4.8 && < 5
792+ , base >= 4.9 && < 5
828793 , random >= 1.0.0 && < 2
829794
830795test-suite parallel-loops
@@ -835,7 +800,7 @@ test-suite parallel-loops
835800 hs-source-dirs: test
836801 build-Depends:
837802 streamly
838− , base >= 4.8 && < 5
803+ , base >= 4.9 && < 5
839804 , random >= 1.0.0 && < 2
840805
841806test-suite version-bounds
@@ -847,7 +812,7 @@ test-suite version-bounds
847812 build-Depends:
848813 streamly
849814 , ghc
850− , base >= 4.8 && < 5
815+ , base >= 4.9 && < 5
851816
852817-------------------------------------------------------------------------------
853818-- Examples
@@ -861,11 +826,8 @@ executable SearchQuery
861826 buildable: True
862827 build-depends:
863828 streamly
864− , base >= 4.8 && < 5
829+ , base >= 4.9 && < 5
865830 , http-conduit >= 2.2.2 && < 2.4
866− if impl(ghc < 8.0)
867− build-depends:
868− unliftio-core < 0.2
869831 else
870832 buildable: False
871833
@@ -877,10 +839,7 @@ executable ListDir
877839 buildable: True
878840 build-Depends:
879841 streamly
880− , base >= 4.8 && < 5
881− if impl(ghc < 8.0)
882− build-depends:
883− transformers >= 0.4 && < 0.6
842+ , base >= 4.9 && < 5
884843 else
885844 buildable: False
886845
@@ -892,7 +851,7 @@ executable MergeSort
892851 buildable: True
893852 build-Depends:
894853 streamly
895− , base >= 4.8 && < 5
854+ , base >= 4.9 && < 5
896855 , random >= 1.0.0 && < 2
897856 else
898857 buildable: False
@@ -905,12 +864,8 @@ executable AcidRain
905864 buildable: True
906865 build-Depends:
907866 streamly
908− , base >= 4.8 && < 5
867+ , base >= 4.9 && < 5
909868 , mtl >= 2.2 && < 3
910− if impl(ghc < 8.0)
911− build-depends:
912− semigroups >= 0.18 && < 0.19
913− , transformers >= 0.4 && < 0.6
914869 else
915870 buildable: False
916871
@@ -922,7 +877,7 @@ executable CirclingSquare
922877 buildable: True
923878 build-Depends:
924879 streamly
925− , base >= 4.8 && < 5
880+ , base >= 4.9 && < 5
926881 , SDL >= 0.6.5 && < 0.7
927882 else
928883 buildable: False
@@ -935,13 +890,10 @@ executable ControlFlow
935890 buildable: True
936891 build-Depends:
937892 streamly
938− , base >= 4.8 && < 5
893+ , base >= 4.9 && < 5
939894 , exceptions >= 0.8 && < 0.11
940895 , transformers >= 0.4 && < 0.6
941896 , transformers-base >= 0.4 && < 0.5
942− if impl(ghc < 8.0)
943− build-depends:
944− semigroups >= 0.18 && < 0.19
945897 else
946898 buildable: False
947899
@@ -953,7 +905,7 @@ executable HandleIO
953905 buildable: True
954906 build-Depends:
955907 streamly
956− , base >= 4.8 && < 5
908+ , base >= 4.9 && < 5
957909 else
958910 buildable: False
959911
@@ -965,7 +917,7 @@ executable FileIOExamples
965917 buildable: True
966918 build-Depends:
967919 streamly
968− , base >= 4.8 && < 5
920+ , base >= 4.9 && < 5
969921 else
970922 buildable: False
971923
@@ -977,11 +929,8 @@ executable EchoServer
977929 buildable: True
978930 build-Depends:
979931 streamly
980− , base >= 4.8 && < 5
932+ , base >= 4.9 && < 5
981933 , network >= 2.6 && < 4
982− if impl(ghc < 8.0)
983− build-depends:
984− transformers >= 0.4 && < 0.6
985934 else
986935 buildable: False
987936
@@ -993,11 +942,8 @@ executable FileSinkServer
993942 buildable: True
994943 build-Depends:
995944 streamly
996− , base >= 4.8 && < 5
945+ , base >= 4.9 && < 5
997946 , network >= 2.6 && < 4
998− if impl(ghc < 8.0)
999− build-depends:
1000− transformers >= 0.4 && < 0.6
1001947 else
1002948 buildable: False
1003949
@@ -1009,7 +955,7 @@ executable FromFileClient
1009955 buildable: True
1010956 build-Depends:
1011957 streamly
1012− , base >= 4.8 && < 5
958+ , base >= 4.9 && < 5
1013959 else
1014960 buildable: False
1015961
@@ -1021,7 +967,7 @@ executable WordClassifier
1021967 buildable: True
1022968 build-Depends:
1023969 streamly
1024− , base >= 4.8 && < 5
970+ , base >= 4.9 && < 5
1025971 , hashable >= 1.2 && < 1.4
1026972 , unordered-containers >= 0.2 && < 0.3
1027973 else
@@ -1035,7 +981,7 @@ executable WordCount
1035981 buildable: True
1036982 build-Depends:
1037983 streamly
1038− , base >= 4.8 && < 5
984+ , base >= 4.9 && < 5
1039985 , vector >= 0.12 && < 0.13
1040986 else
1041987 buildable: False
@@ -1048,7 +994,7 @@ executable CamelCase
1048994 buildable: True
1049995 build-Depends:
1050996 streamly
1051− , base >= 4.8 && < 5
997+ , base >= 4.9 && < 5
1052998 else
1053999 buildable: False
10541000
@@ -1060,7 +1006,7 @@ executable Rate
10601006 buildable: True
10611007 build-Depends:
10621008 streamly
1063− , base >= 4.8 && < 5
1009+ , base >= 4.9 && < 5
10641010 else
10651011 buildable: False
10661012
@@ -1072,10 +1018,7 @@ executable Split
10721018 buildable: True
10731019 build-Depends:
10741020 streamly
1075− , base >= 4.8 && < 5
1021+ , base >= 4.9 && < 5
10761022 , mtl >= 2.2 && < 3
1077− if impl(ghc < 8.0)
1078− build-depends:
1079− transformers >= 0.4 && < 0.6
10801023 else
10811024 buildable: False