@@ -81,8 +81,7 @@ homepage: https://github.com/composewell/streamly
81bug-reports: https://github.com/composewell/streamly/issues
81bug-reports: https://github.com/composewell/streamly/issues
82license: BSD-3-Clause
82license: BSD-3-Clause
83license-file: LICENSE
83license-file: LICENSE
84−tested-with: GHC==7.10.3
84+tested-with: GHC==8.0.2
86 , GHC==8.4.4
85 , GHC==8.4.4
87 , GHC==8.6.5
86 , GHC==8.6.5
88 , GHC==8.8.1
87 , GHC==8.8.1
@@ -224,6 +223,13 @@ common compile-options
224 cpp-options: -DINSPECTION
223 cpp-options: -DINSPECTION
226 ghc-options: -Wall
225 ghc-options: -Wall
227+ -Wunrecognised-warning-flags
229+ -Wincomplete-record-updates
230+ -Wincomplete-uni-patterns
231+ -Wredundant-constraints
232+ -Wnoncanonical-monad-instances
228 if flag(has-llvm)
234 if flag(has-llvm)
229 ghc-options: -fllvm
235 ghc-options: -fllvm
@@ -235,15 +241,6 @@ common compile-options
235 if flag(dev) || flag(debug)
241 if flag(dev) || flag(debug)
236 ghc-options: -fno-ignore-asserts
242 ghc-options: -fno-ignore-asserts
239− ghc-options: -Wcompat
240− -Wunrecognised-warning-flags
242− -Wincomplete-record-updates
243− -Wincomplete-uni-patterns
244− -Wredundant-constraints
245− -Wnoncanonical-monad-instances
247common default-extensions
244common default-extensions
248 default-extensions:
245 default-extensions:
249 BangPatterns
246 BangPatterns
@@ -316,13 +313,9 @@ common prelude-test-options
316 hs-source-dirs: test
313 hs-source-dirs: test
317 build-depends:
314 build-depends:
319− , base >= 4.8 && < 5
316+ , base >= 4.9 && < 5
320 , QuickCheck >= 2.10 && < 2.15
317 , QuickCheck >= 2.10 && < 2.15
321 , hspec >= 2.0 && < 3
318 , hspec >= 2.0 && < 3
324− transformers >= 0.4 && < 0.6
325− , semigroups >= 0.18 && < 0.19
326 default-language: Haskell2010
319 default-language: Haskell2010
328-- Used by maxrate test, benchmarks and executables
321-- Used by maxrate test, benchmarks and executables
@@ -355,6 +348,7 @@ library
355 hs-source-dirs: src
348 hs-source-dirs: src
356 other-modules:
349 other-modules:
357 Streamly.Data.Array
350 Streamly.Data.Array
351+ , Streamly.Data.Prim.Array
358 , Streamly.Data.SmallArray
352 , Streamly.Data.SmallArray
360 -- Memory storage
354 -- Memory storage
@@ -394,6 +388,12 @@ library
395 -- Arrays
389 -- Arrays
396 , Streamly.Internal.Data.Array
390 , 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
397 , Streamly.Internal.Data.SmallArray.Types
397 , Streamly.Internal.Data.SmallArray.Types
398 , Streamly.Internal.Data.SmallArray
398 , Streamly.Internal.Data.SmallArray
399 , Streamly.Internal.Memory.Mutable.Array.Types
399 , Streamly.Internal.Memory.Mutable.Array.Types
@@ -453,24 +453,8 @@ library
453 , Streamly.Internal.Data.Unicode.Stream
453 , Streamly.Internal.Data.Unicode.Stream
454 , Streamly.Internal.Data.Unicode.Char
454 , Streamly.Internal.Data.Unicode.Char
455 , Streamly.Internal.Memory.Unicode.Array
455 , Streamly.Internal.Memory.Unicode.Array
458− other-modules: Streamly.Data.Prim.Array
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
471 , Streamly.Internal.Unicode.Array.Prim.Pinned
456 , Streamly.Internal.Unicode.Array.Prim.Pinned
474 if !impl(ghcjs)
458 if !impl(ghcjs)
475 exposed-modules:
459 exposed-modules:
476 Streamly.Network.Socket
460 Streamly.Network.Socket
@@ -483,7 +467,7 @@ library
483 -- Core libraries shipped with ghc, the min and max
467 -- Core libraries shipped with ghc, the min and max
484 -- constraints of these libraries should match with
468 -- constraints of these libraries should match with
485 -- the GHC versions we support
469 -- the GHC versions we support
486− base >= 4.8 && < 5
470+ base >= 4.9 && < 5
487 , containers >= 0.5 && < 0.7
471 , containers >= 0.5 && < 0.7
488 , deepseq >= 1.4.1 && < 1.5
472 , deepseq >= 1.4.1 && < 1.5
489 , directory >= 1.2.2 && < 1.4
473 , directory >= 1.2.2 && < 1.4
@@ -508,9 +492,6 @@ library
508 if !impl(ghcjs)
492 if !impl(ghcjs)
509 build-depends:
493 build-depends:
510 network >= 2.6 && < 4
494 network >= 2.6 && < 4
513− semigroups >= 0.18 && < 0.19
515 if flag(inspection)
496 if flag(inspection)
516 build-depends: template-haskell >= 2.14 && < 2.17
497 build-depends: template-haskell >= 2.14 && < 2.17
@@ -533,7 +514,7 @@ test-suite test
533 hs-source-dirs: test
514 hs-source-dirs: test
534 build-depends:
515 build-depends:
536− , base >= 4.8 && < 5
517+ , base >= 4.9 && < 5
537 , hspec >= 2.0 && < 3
518 , hspec >= 2.0 && < 3
538 , containers >= 0.5 && < 0.7
519 , containers >= 0.5 && < 0.7
539 , transformers >= 0.4 && < 0.6
520 , transformers >= 0.4 && < 0.6
@@ -549,7 +530,7 @@ test-suite internal-prelude-test
549 hs-source-dirs: test
530 hs-source-dirs: test
550 build-depends:
531 build-depends:
552− , base >= 4.8 && < 5
533+ , base >= 4.9 && < 5
553 , QuickCheck >= 2.10 && < 2.15
534 , QuickCheck >= 2.10 && < 2.15
554 , hspec >= 2.0 && < 3
535 , hspec >= 2.0 && < 3
555 default-language: Haskell2010
536 default-language: Haskell2010
@@ -561,7 +542,7 @@ test-suite pure-streams-base
561 hs-source-dirs: test
542 hs-source-dirs: test
562 build-depends:
543 build-depends:
564− , base >= 4.8 && < 5
545+ , base >= 4.9 && < 5
565 , hspec >= 2.0 && < 3
546 , hspec >= 2.0 && < 3
566 default-language: Haskell2010
547 default-language: Haskell2010
@@ -573,7 +554,7 @@ test-suite pure-streams-streamly
573 cpp-options: -DUSE_STREAMLY_LIST
554 cpp-options: -DUSE_STREAMLY_LIST
574 build-depends:
555 build-depends:
576− , base >= 4.8 && < 5
557+ , base >= 4.9 && < 5
577 , hspec >= 2.0 && < 3
558 , hspec >= 2.0 && < 3
578 default-language: Haskell2010
559 default-language: Haskell2010
@@ -658,12 +639,9 @@ test-suite array-test
658 cpp-options: -DTEST_ARRAY
639 cpp-options: -DTEST_ARRAY
659 build-depends:
640 build-depends:
661− , base >= 4.8 && < 5
642+ , base >= 4.9 && < 5
662 , QuickCheck >= 2.10 && < 2.15
643 , QuickCheck >= 2.10 && < 2.15
663 , hspec >= 2.0 && < 3
644 , hspec >= 2.0 && < 3
666− transformers >= 0.4 && < 0.6
667 default-language: Haskell2010
645 default-language: Haskell2010
669test-suite internal-data-fold-test
647test-suite internal-data-fold-test
@@ -674,7 +652,7 @@ test-suite internal-data-fold-test
674 hs-source-dirs: test
652 hs-source-dirs: test
675 build-depends:
653 build-depends:
677− , base >= 4.8 && < 5
655+ , base >= 4.9 && < 5
678 , hspec >= 2.0 && < 3
656 , hspec >= 2.0 && < 3
679 , QuickCheck >= 2.10 && < 2.15
657 , QuickCheck >= 2.10 && < 2.15
680 default-language: Haskell2010
658 default-language: Haskell2010
@@ -688,7 +666,7 @@ test-suite internal-data-parser-test
688 hs-source-dirs: test
666 hs-source-dirs: test
689 build-depends:
667 build-depends:
691− , base >= 4.8 && < 5
669+ , base >= 4.9 && < 5
692 , hspec >= 2.0 && < 3
670 , hspec >= 2.0 && < 3
693 , QuickCheck >= 2.10 && < 2.15
671 , QuickCheck >= 2.10 && < 2.15
694 , transformers >= 0.4 && < 0.6
672 , transformers >= 0.4 && < 0.6
@@ -702,7 +680,7 @@ test-suite internal-data-parser-parserd-test
702 hs-source-dirs: test
680 hs-source-dirs: test
703 build-depends:
681 build-depends:
705− , base >= 4.8 && < 5
683+ , base >= 4.9 && < 5
706 , hspec >= 2.0 && < 3
684 , hspec >= 2.0 && < 3
707 , QuickCheck >= 2.10 && < 2.15
685 , QuickCheck >= 2.10 && < 2.15
708 , transformers >= 0.4 && < 0.6
686 , transformers >= 0.4 && < 0.6
@@ -716,12 +694,9 @@ test-suite data-array-test
716 hs-source-dirs: test
694 hs-source-dirs: test
717 build-depends:
695 build-depends:
719− , base >= 4.8 && < 5
697+ , base >= 4.9 && < 5
720 , QuickCheck >= 2.10 && < 2.15
698 , QuickCheck >= 2.10 && < 2.15
721 , hspec >= 2.0 && < 3
699 , hspec >= 2.0 && < 3
724− transformers >= 0.4 && < 0.6
725 default-language: Haskell2010
700 default-language: Haskell2010
727test-suite smallarray-test
702test-suite smallarray-test
@@ -733,12 +708,9 @@ test-suite smallarray-test
733 cpp-options: -DTEST_SMALL_ARRAY
708 cpp-options: -DTEST_SMALL_ARRAY
734 build-depends:
709 build-depends:
736− , base >= 4.8 && < 5
711+ , base >= 4.9 && < 5
737 , QuickCheck >= 2.10 && < 2.15
712 , QuickCheck >= 2.10 && < 2.15
738 , hspec >= 2.0 && < 3
713 , hspec >= 2.0 && < 3
741− transformers >= 0.4 && < 0.6
742 default-language: Haskell2010
714 default-language: Haskell2010
744test-suite primarray-test
716test-suite primarray-test
@@ -750,11 +722,9 @@ test-suite primarray-test
750 cpp-options: -DDATA_ARRAY_PRIM
722 cpp-options: -DDATA_ARRAY_PRIM
751 build-depends:
723 build-depends:
753− , base >= 4.8 && < 5
725+ , base >= 4.9 && < 5
754 , QuickCheck >= 2.10 && < 2.15
726 , QuickCheck >= 2.10 && < 2.15
755 , hspec >= 2.0 && < 3
727 , hspec >= 2.0 && < 3
758 default-language: Haskell2010
728 default-language: Haskell2010
760test-suite prim-pinned-array-test
730test-suite prim-pinned-array-test
@@ -766,11 +736,9 @@ test-suite prim-pinned-array-test
766 cpp-options: -DDATA_ARRAY_PRIM_PINNED
736 cpp-options: -DDATA_ARRAY_PRIM_PINNED
767 build-depends:
737 build-depends:
769− , base >= 4.8 && < 5
739+ , base >= 4.9 && < 5
770 , QuickCheck >= 2.10 && < 2.15
740 , QuickCheck >= 2.10 && < 2.15
771 , hspec >= 2.0 && < 3
741 , hspec >= 2.0 && < 3
774 default-language: Haskell2010
742 default-language: Haskell2010
776test-suite string-test
744test-suite string-test
@@ -781,12 +749,9 @@ test-suite string-test
781 hs-source-dirs: test
749 hs-source-dirs: test
782 build-depends:
750 build-depends:
784− , base >= 4.8 && < 5
752+ , base >= 4.9 && < 5
785 , QuickCheck >= 2.10 && < 2.15
753 , QuickCheck >= 2.10 && < 2.15
786 , hspec >= 2.0 && < 3
754 , hspec >= 2.0 && < 3
789− transformers >= 0.4 && < 0.6
790 default-language: Haskell2010
755 default-language: Haskell2010
792test-suite maxrate
757test-suite maxrate
@@ -800,7 +765,7 @@ test-suite maxrate
800 buildable: True
765 buildable: True
801 build-Depends:
766 build-Depends:
803− , base >= 4.8 && < 5
768+ , base >= 4.9 && < 5
804 , hspec >= 2.0 && < 3
769 , hspec >= 2.0 && < 3
805 , random >= 1.0.0 && < 2
770 , random >= 1.0.0 && < 2
@@ -814,7 +779,7 @@ test-suite loops
814 hs-source-dirs: test
779 hs-source-dirs: test
815 build-Depends:
780 build-Depends:
817− , base >= 4.8 && < 5
782+ , base >= 4.9 && < 5
819test-suite nested-loops
784test-suite nested-loops
820 import: test-options
785 import: test-options
@@ -824,7 +789,7 @@ test-suite nested-loops
824 hs-source-dirs: test
789 hs-source-dirs: test
825 build-Depends:
790 build-Depends:
827− , base >= 4.8 && < 5
792+ , base >= 4.9 && < 5
828 , random >= 1.0.0 && < 2
793 , random >= 1.0.0 && < 2
830test-suite parallel-loops
795test-suite parallel-loops
@@ -835,7 +800,7 @@ test-suite parallel-loops
835 hs-source-dirs: test
800 hs-source-dirs: test
836 build-Depends:
801 build-Depends:
838− , base >= 4.8 && < 5
803+ , base >= 4.9 && < 5
839 , random >= 1.0.0 && < 2
804 , random >= 1.0.0 && < 2
841test-suite version-bounds
806test-suite version-bounds
@@ -847,7 +812,7 @@ test-suite version-bounds
847 build-Depends:
812 build-Depends:
850− , base >= 4.8 && < 5
815+ , base >= 4.9 && < 5
852-------------------------------------------------------------------------------
817-------------------------------------------------------------------------------
853-- Examples
818-- Examples
@@ -861,11 +826,8 @@ executable SearchQuery
861 buildable: True
826 buildable: True
862 build-depends:
827 build-depends:
864− , base >= 4.8 && < 5
829+ , base >= 4.9 && < 5
865 , http-conduit >= 2.2.2 && < 2.4
830 , http-conduit >= 2.2.2 && < 2.4
870 buildable: False
832 buildable: False
@@ -877,10 +839,7 @@ executable ListDir
877 buildable: True
839 buildable: True
878 build-Depends:
840 build-Depends:
880− , base >= 4.8 && < 5
842+ , base >= 4.9 && < 5
883− transformers >= 0.4 && < 0.6
885 buildable: False
844 buildable: False
@@ -892,7 +851,7 @@ executable MergeSort
892 buildable: True
851 buildable: True
893 build-Depends:
852 build-Depends:
895− , base >= 4.8 && < 5
854+ , base >= 4.9 && < 5
896 , random >= 1.0.0 && < 2
855 , random >= 1.0.0 && < 2
898 buildable: False
857 buildable: False
@@ -905,12 +864,8 @@ executable AcidRain
905 buildable: True
864 buildable: True
906 build-Depends:
865 build-Depends:
908− , base >= 4.8 && < 5
867+ , base >= 4.9 && < 5
909 , mtl >= 2.2 && < 3
868 , mtl >= 2.2 && < 3
912− semigroups >= 0.18 && < 0.19
913− , transformers >= 0.4 && < 0.6
915 buildable: False
870 buildable: False
@@ -922,7 +877,7 @@ executable CirclingSquare
922 buildable: True
877 buildable: True
923 build-Depends:
878 build-Depends:
925− , base >= 4.8 && < 5
880+ , base >= 4.9 && < 5
926 , SDL >= 0.6.5 && < 0.7
881 , SDL >= 0.6.5 && < 0.7
928 buildable: False
883 buildable: False
@@ -935,13 +890,10 @@ executable ControlFlow
935 buildable: True
890 buildable: True
936 build-Depends:
891 build-Depends:
938− , base >= 4.8 && < 5
893+ , base >= 4.9 && < 5
939 , exceptions >= 0.8 && < 0.11
894 , exceptions >= 0.8 && < 0.11
940 , transformers >= 0.4 && < 0.6
895 , transformers >= 0.4 && < 0.6
941 , transformers-base >= 0.4 && < 0.5
896 , transformers-base >= 0.4 && < 0.5
944− semigroups >= 0.18 && < 0.19
946 buildable: False
898 buildable: False
@@ -953,7 +905,7 @@ executable HandleIO
953 buildable: True
905 buildable: True
954 build-Depends:
906 build-Depends:
956− , base >= 4.8 && < 5
908+ , base >= 4.9 && < 5
958 buildable: False
910 buildable: False
@@ -965,7 +917,7 @@ executable FileIOExamples
965 buildable: True
917 buildable: True
966 build-Depends:
918 build-Depends:
968− , base >= 4.8 && < 5
920+ , base >= 4.9 && < 5
970 buildable: False
922 buildable: False
@@ -977,11 +929,8 @@ executable EchoServer
977 buildable: True
929 buildable: True
978 build-Depends:
930 build-Depends:
980− , base >= 4.8 && < 5
932+ , base >= 4.9 && < 5
981 , network >= 2.6 && < 4
933 , network >= 2.6 && < 4
984− transformers >= 0.4 && < 0.6
986 buildable: False
935 buildable: False
@@ -993,11 +942,8 @@ executable FileSinkServer
993 buildable: True
942 buildable: True
994 build-Depends:
943 build-Depends:
996− , base >= 4.8 && < 5
945+ , base >= 4.9 && < 5
997 , network >= 2.6 && < 4
946 , network >= 2.6 && < 4
1000− transformers >= 0.4 && < 0.6
1002 buildable: False
948 buildable: False
@@ -1009,7 +955,7 @@ executable FromFileClient
1009 buildable: True
955 buildable: True
1010 build-Depends:
956 build-Depends:
1011 streamly
957 streamly
1012− , base >= 4.8 && < 5
958+ , base >= 4.9 && < 5
1014 buildable: False
960 buildable: False
@@ -1021,7 +967,7 @@ executable WordClassifier
1021 buildable: True
967 buildable: True
1022 build-Depends:
968 build-Depends:
1023 streamly
969 streamly
1024− , base >= 4.8 && < 5
970+ , base >= 4.9 && < 5
1025 , hashable >= 1.2 && < 1.4
971 , hashable >= 1.2 && < 1.4
1026 , unordered-containers >= 0.2 && < 0.3
972 , unordered-containers >= 0.2 && < 0.3
@@ -1035,7 +981,7 @@ executable WordCount
1035 buildable: True
981 buildable: True
1036 build-Depends:
982 build-Depends:
1037 streamly
983 streamly
1038− , base >= 4.8 && < 5
984+ , base >= 4.9 && < 5
1039 , vector >= 0.12 && < 0.13
985 , vector >= 0.12 && < 0.13
1041 buildable: False
987 buildable: False
@@ -1048,7 +994,7 @@ executable CamelCase
1048 buildable: True
994 buildable: True
1049 build-Depends:
995 build-Depends:
1050 streamly
996 streamly
1051− , base >= 4.8 && < 5
997+ , base >= 4.9 && < 5
1053 buildable: False
999 buildable: False
@@ -1060,7 +1006,7 @@ executable Rate
1060 buildable: True
1006 buildable: True
1061 build-Depends:
1007 build-Depends:
1062 streamly
1008 streamly
1063− , base >= 4.8 && < 5
1009+ , base >= 4.9 && < 5
1065 buildable: False
1011 buildable: False
@@ -1072,10 +1018,7 @@ executable Split
1072 buildable: True
1018 buildable: True
1073 build-Depends:
1019 build-Depends:
1074 streamly
1020 streamly
1075− , base >= 4.8 && < 5
1021+ , base >= 4.9 && < 5
1076 , mtl >= 2.2 && < 3
1022 , mtl >= 2.2 && < 3
1079− transformers >= 0.4 && < 0.6
1081 buildable: False
1024 buildable: False