on master help sign in
Drop support for GHC 7.10.3.
d93ac86pranaysashank
.travis.yml+4−4
@@ -101,10 +101,10 @@ matrix:
101 os: linux
101 os: linux
102 arch: amd64
102 arch: amd64
103
103
104− - env: BUILD=cabal-v2 GHCVER=7.10.3 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flags examples-sdl"
104+ #- env: BUILD=cabal-v2 GHCVER=7.10.3 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flags examples-sdl"
105− addons: {apt: {packages: [cabal-install-2.4,ghc-7.10.3,libsdl1.2-dev], sources: [hvr-ghc]}}
105+ # addons: {apt: {packages: [cabal-install-2.4,ghc-7.10.3,libsdl1.2-dev], sources: [hvr-ghc]}}
106− os: linux
106+ # os: linux
107− arch: amd64
107+ # arch: amd64
108
108
109
109
110 - env: BUILD=cabal-v2 GHCVER=8.4.4 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flag debug"
110 - env: BUILD=cabal-v2 GHCVER=8.4.4 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flag debug"
benchmark/streamly-benchmarks.cabal+9−15
@@ -58,6 +58,13 @@ common compile-options
58 cpp-options: -DINSPECTION
58 cpp-options: -DINSPECTION
59
59
60 ghc-options: -Wall
60 ghc-options: -Wall
61+ -Wcompat
62+ -Wunrecognised-warning-flags
63+ -Widentities
64+ -Wincomplete-record-updates
65+ -Wincomplete-uni-patterns
66+ -Wredundant-constraints
67+ -Wnoncanonical-monad-instances
61
68
62 if flag(has-llvm)
69 if flag(has-llvm)
63 ghc-options: -fllvm
70 ghc-options: -fllvm
@@ -69,15 +76,6 @@ common compile-options
69 if flag(dev) || flag(debug)
76 if flag(dev) || flag(debug)
70 ghc-options: -fno-ignore-asserts
77 ghc-options: -fno-ignore-asserts
71
78
72− if impl(ghc >= 8.0)
73− ghc-options: -Wcompat
74− -Wunrecognised-warning-flags
75− -Widentities
76− -Wincomplete-record-updates
77− -Wincomplete-uni-patterns
78− -Wredundant-constraints
79− -Wnoncanonical-monad-instances
80−
81common optimization-options
79common optimization-options
82 ghc-options: -O2
80 ghc-options: -O2
83 -fdicts-strict
81 -fdicts-strict
@@ -100,7 +98,7 @@ common bench-depends
100 -- Core libraries shipped with ghc, the min and max
98 -- Core libraries shipped with ghc, the min and max
101 -- constraints of these libraries should match with
99 -- constraints of these libraries should match with
102 -- the GHC versions we support
100 -- the GHC versions we support
103− base >= 4.8 && < 5
101+ base >= 4.9 && < 5
104 , deepseq >= 1.4.1 && < 1.5
102 , deepseq >= 1.4.1 && < 1.5
105 , mtl >= 2.2 && < 3
103 , mtl >= 2.2 && < 3
106
104
@@ -395,8 +393,6 @@ benchmark Data.Array.Prim
395 other-modules: Streamly.Benchmark.Data.ArrayOps
393 other-modules: Streamly.Benchmark.Data.ArrayOps
396 cpp-options: -DDATA_ARRAY_PRIM
394 cpp-options: -DDATA_ARRAY_PRIM
397 build-depends: primitive
395 build-depends: primitive
398− if impl(ghc < 8.0)
399− buildable: False
400
396
401benchmark Data.SmallArray
397benchmark Data.SmallArray
402 import: bench-options
398 import: bench-options
@@ -413,8 +409,6 @@ benchmark Data.Array.Prim.Pinned
413 main-is: Streamly/Benchmark/Data/Array.hs
409 main-is: Streamly/Benchmark/Data/Array.hs
414 other-modules: Streamly.Benchmark.Data.ArrayOps
410 other-modules: Streamly.Benchmark.Data.ArrayOps
415 cpp-options: -DDATA_ARRAY_PRIM_PINNED
411 cpp-options: -DDATA_ARRAY_PRIM_PINNED
416− if impl(ghc < 8.0)
417− buildable: False
418
412
419benchmark Memory.Array
413benchmark Memory.Array
420 import: bench-options
414 import: bench-options
@@ -454,7 +448,7 @@ executable chart
454 if flag(dev) && !flag(no-charts) && !impl(ghcjs)
448 if flag(dev) && !flag(no-charts) && !impl(ghcjs)
455 buildable: True
449 buildable: True
456 build-Depends:
450 build-Depends:
457− base >= 4.8 && < 5
451+ base >= 4.9 && < 5
458 , bench-show >= 0.3 && < 0.4
452 , bench-show >= 0.3 && < 0.4
459 , transformers >= 0.4 && < 0.6
453 , transformers >= 0.4 && < 0.6
460 else
454 else
examples/WordClassifier.hs+2−2
@@ -1,8 +1,8 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE FlexibleInstances #-}
2{-# LANGUAGE FlexibleInstances #-}
3−#if __GLASGOW_HASKELL__ >= 800
3+
4{-# OPTIONS_GHC -Wno-orphans #-}
4{-# OPTIONS_GHC -Wno-orphans #-}
5−#endif
5+
6-- compile with:
6-- compile with:
7-- ghc -O2 -fspec-constr-recursive=10 -fmax-worker-args=16 word-classifier.hs
7-- ghc -O2 -fspec-constr-recursive=10 -fmax-worker-args=16 word-classifier.hs
8--
8--
src/Streamly.hs−2
@@ -51,9 +51,7 @@
51-- please see the "Streamly.Tutorial" module and the examples directory in this
51-- please see the "Streamly.Tutorial" module and the examples directory in this
52-- package.
52-- package.
53
53
54−#if __GLASGOW_HASKELL__ >= 800
55{-# OPTIONS_GHC -Wno-orphans #-}
54{-# OPTIONS_GHC -Wno-orphans #-}
56−#endif
57
55
58#include "inline.hs"
56#include "inline.hs"
59
57
src/Streamly/FileSystem/IOVec.hsc−4
@@ -47,10 +47,6 @@ data IOVec = IOVec
47
47
48#include <sys/uio.h>
48#include <sys/uio.h>
49
49
50−#if __GLASGOW_HASKELL__ < 800
51−#let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__)
52−#endif
53−
54instance Storable IOVec where
50instance Storable IOVec where
55 sizeOf _ = #{size struct iovec}
51 sizeOf _ = #{size struct iovec}
56 alignment _ = #{alignment struct iovec}
52 alignment _ = #{alignment struct iovec}
src/Streamly/Internal/Data/List.hs+1−6
@@ -51,13 +51,8 @@
51--
51--
52module Streamly.Internal.Data.List
52module Streamly.Internal.Data.List
53 (
53 (
54−#if __GLASGOW_HASKELL__ >= 800
55 List (.., Nil, Cons)
54 List (.., Nil, Cons)
56−#else
55+
57− List (..)
58− , pattern Nil
59− , pattern Cons
60−#endif
61 -- XXX we may want to use rebindable syntax for variants instead of using
56 -- XXX we may want to use rebindable syntax for variants instead of using
62 -- different types (applicative do and apWith).
57 -- different types (applicative do and apWith).
63 , ZipList (..)
58 , ZipList (..)
src/Streamly/Internal/Data/Parser.hs−2
@@ -1,6 +1,4 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-orphans #-}
1{-# OPTIONS_GHC -Wno-orphans #-}
3−#endif
4
2
5-- |
3-- |
6-- Module : Streamly.Internal.Data.Parser
4-- Module : Streamly.Internal.Data.Parser
src/Streamly/Internal/Data/Parser/ParserD/Tee.hs−2
@@ -1,6 +1,4 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
1{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
3−#endif
4
2
5#include "inline.hs"
3#include "inline.hs"
6
4
src/Streamly/Internal/Data/SVar.hs−5
@@ -126,9 +126,7 @@ import Data.Concurrent.Queue.MichaelScott (LinkedQueue, pushL)
126import Data.Functor (void)
126import Data.Functor (void)
127import Data.Heap (Heap, Entry(..))
127import Data.Heap (Heap, Entry(..))
128import Data.Int (Int64)
128import Data.Int (Int64)
129−#if __GLASGOW_HASKELL__ >= 800
130import Data.Kind (Type)
129import Data.Kind (Type)
131−#endif
132import Data.IORef
130import Data.IORef
133 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
131 (IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
134import Data.Maybe (fromJust, fromMaybe)
132import Data.Maybe (fromJust, fromMaybe)
@@ -175,9 +173,6 @@ data ChildEvent a =
175 ChildYield a
173 ChildYield a
176 | ChildStop ThreadId (Maybe SomeException)
174 | ChildStop ThreadId (Maybe SomeException)
177
175
178−#if __GLASGOW_HASKELL__ < 800
179−#define Type *
180−#endif
181-- | Sorting out-of-turn outputs in a heap for Ahead style streams
176-- | Sorting out-of-turn outputs in a heap for Ahead style streams
182data AheadHeapEntry (t :: (Type -> Type) -> Type -> Type) m a =
177data AheadHeapEntry (t :: (Type -> Type) -> Type -> Type) m a =
183 AheadEntryNull
178 AheadEntryNull
src/Streamly/Internal/Data/Stream/Enumeration.hs−2
@@ -520,7 +520,6 @@ ENUMERABLE_FRACTIONAL(Double,)
520ENUMERABLE_FRACTIONAL(Fixed a,HasResolution a)
520ENUMERABLE_FRACTIONAL(Fixed a,HasResolution a)
521ENUMERABLE_FRACTIONAL(Ratio a,Integral a)
521ENUMERABLE_FRACTIONAL(Ratio a,Integral a)
522
522
523−#if __GLASGOW_HASKELL__ >= 800
524instance Enumerable a => Enumerable (Identity a) where
523instance Enumerable a => Enumerable (Identity a) where
525 {-# INLINE enumerateFrom #-}
524 {-# INLINE enumerateFrom #-}
526 enumerateFrom (Identity from) = Serial.map Identity $
525 enumerateFrom (Identity from) = Serial.map Identity $
@@ -534,7 +533,6 @@ instance Enumerable a => Enumerable (Identity a) where
534 {-# INLINE enumerateFromThenTo #-}
533 {-# INLINE enumerateFromThenTo #-}
535 enumerateFromThenTo (Identity from) (Identity next) (Identity to) =
534 enumerateFromThenTo (Identity from) (Identity next) (Identity to) =
536 Serial.map Identity $ enumerateFromThenTo from next to
535 Serial.map Identity $ enumerateFromThenTo from next to
537−#endif
538
536
539-- TODO
537-- TODO
540{-
538{-
src/Streamly/Internal/Data/Stream/Prelude.hs−2
@@ -1,6 +1,4 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-orphans #-}
1{-# OPTIONS_GHC -Wno-orphans #-}
3−#endif
4
2
5#include "inline.hs"
3#include "inline.hs"
6
4
src/Streamly/Internal/Data/Stream/StreamD.hs−6
@@ -27,13 +27,7 @@ module Streamly.Internal.Data.Stream.StreamD
27 (
27 (
28 -- * The stream type
28 -- * The stream type
29 Step (..)
29 Step (..)
30−
31−#if __GLASGOW_HASKELL__ >= 800
32 , Stream (Stream, UnStream)
30 , Stream (Stream, UnStream)
33−#else
34− , Stream (UnStream)
35− , pattern Stream
36−#endif
37
31
38 -- * Construction
32 -- * Construction
39 , nil
33 , nil
src/Streamly/Internal/Data/Stream/StreamD/Type.hs+1−5
@@ -16,12 +16,8 @@ module Streamly.Internal.Data.Stream.StreamD.Type
16 Step (..)
16 Step (..)
17 -- XXX UnStream is exported to avoid a performance issue in concatMap if we
17 -- XXX UnStream is exported to avoid a performance issue in concatMap if we
18 -- use the pattern synonym "Stream".
18 -- use the pattern synonym "Stream".
19−#if __GLASGOW_HASKELL__ >= 800
20 , Stream (Stream, UnStream)
19 , Stream (Stream, UnStream)
21−#else
20+
22− , Stream (UnStream)
23− , pattern Stream
24−#endif
25 , fromStreamK
21 , fromStreamK
26 , toStreamK
22 , toStreamK
27 , fromStreamD
23 , fromStreamD
src/Streamly/Internal/Data/Stream/StreamK/Type.hs+1−5
@@ -77,9 +77,8 @@ where
77
77
78import Control.Monad (ap, (>=>))
78import Control.Monad (ap, (>=>))
79import Control.Monad.Trans.Class (MonadTrans(lift))
79import Control.Monad.Trans.Class (MonadTrans(lift))
80−#if __GLASGOW_HASKELL__ >= 800
81import Data.Kind (Type)
80import Data.Kind (Type)
82−#endif
81+
83#if __GLASGOW_HASKELL__ < 808
82#if __GLASGOW_HASKELL__ < 808
84import Data.Semigroup (Semigroup(..))
83import Data.Semigroup (Semigroup(..))
85#endif
84#endif
@@ -793,9 +792,6 @@ instance Monoid (Stream m a) where
793-- Functor
792-- Functor
794-------------------------------------------------------------------------------
793-------------------------------------------------------------------------------
795
794
796−#if __GLASGOW_HASKELL__ < 800
797−#define Type *
798−#endif
799-- Note eta expanded
795-- Note eta expanded
800{-# INLINE_LATE mapFB #-}
796{-# INLINE_LATE mapFB #-}
801mapFB :: forall (t :: (Type -> Type) -> Type -> Type) b m a.
797mapFB :: forall (t :: (Type -> Type) -> Type -> Type) b m a.
src/Streamly/Internal/Data/Time/Clock.hsc−2
@@ -1,7 +1,5 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-identities #-}
1{-# OPTIONS_GHC -Wno-identities #-}
3{-# OPTIONS_GHC -fno-warn-unused-imports #-}
2{-# OPTIONS_GHC -fno-warn-unused-imports #-}
4−#endif
5
3
6#ifndef __GHCJS__
4#ifndef __GHCJS__
7#include "config.h"
5#include "config.h"
src/Streamly/Internal/Data/Time/TimeSpec.hsc−6
@@ -1,9 +1,7 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE ScopedTypeVariables #-}
2{-# LANGUAGE ScopedTypeVariables #-}
3
3
4−#if __GLASGOW_HASKELL__ >= 800
5{-# OPTIONS_GHC -Wno-identities #-}
4{-# OPTIONS_GHC -Wno-identities #-}
6−#endif
7
5
8#ifndef __GHCJS__
6#ifndef __GHCJS__
9#include "config.h"
7#include "config.h"
@@ -113,10 +111,6 @@ instance Num TimeSpec where
113#include <time.h>
111#include <time.h>
114#endif
112#endif
115
113
116−#if __GLASGOW_HASKELL__ < 800
117−#let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__)
118−#endif
119−
120#ifdef HS_CLOCK_GHCJS
114#ifdef HS_CLOCK_GHCJS
121instance Storable TimeSpec where
115instance Storable TimeSpec where
122 sizeOf _ = 8
116 sizeOf _ = 8
src/Streamly/Internal/Data/Unfold.hs−3
@@ -136,9 +136,6 @@ import Prelude
136
136
137import Fusion.Plugin.Types (Fuse(..))
137import Fusion.Plugin.Types (Fuse(..))
138import Streamly.Internal.Data.Stream.StreamD.Type (Stream(..), Step(..))
138import Streamly.Internal.Data.Stream.StreamD.Type (Stream(..), Step(..))
139−#if __GLASGOW_HASKELL__ < 800
140−import Streamly.Internal.Data.Stream.StreamD.Type (pattern Stream)
141−#endif
142import Streamly.Internal.Data.Unfold.Types (Unfold(..))
139import Streamly.Internal.Data.Unfold.Types (Unfold(..))
143import Streamly.Internal.Data.Fold.Types (Fold(..))
140import Streamly.Internal.Data.Fold.Types (Fold(..))
144import Streamly.Internal.Data.SVar (defState, MonadAsync)
141import Streamly.Internal.Data.SVar (defState, MonadAsync)
src/Streamly/Internal/Data/Unicode/Stream.hs−4
@@ -75,10 +75,6 @@ import Streamly.Internal.Data.SVar (adaptState)
75import Streamly.Internal.Data.Stream.StreamD (Stream(..), Step (..))
75import Streamly.Internal.Data.Stream.StreamD (Stream(..), Step (..))
76import Streamly.Internal.Data.Strict (Tuple'(..))
76import Streamly.Internal.Data.Strict (Tuple'(..))
77
77
78−#if __GLASGOW_HASKELL__ < 800
79−import Streamly.Internal.Data.Stream.StreamD (pattern Stream)
80−#endif
81−
82import qualified Streamly.Internal.Memory.Array.Types as A
78import qualified Streamly.Internal.Memory.Array.Types as A
83import qualified Streamly.Internal.Prelude as S
79import qualified Streamly.Internal.Prelude as S
84import qualified Streamly.Internal.Data.Stream.StreamD as D
80import qualified Streamly.Internal.Data.Stream.StreamD as D
src/Streamly/Internal/Prelude.hs−8
@@ -1,6 +1,4 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-orphans #-}
1{-# OPTIONS_GHC -Wno-orphans #-}
3−#endif
4
2
5#include "inline.hs"
3#include "inline.hs"
6
4
@@ -532,9 +530,7 @@ import Control.Monad.Trans.State.Strict (StateT)
532import Control.Monad.Trans.Class (MonadTrans(..))
530import Control.Monad.Trans.Class (MonadTrans(..))
533import Control.Monad.Trans.Control (MonadBaseControl)
531import Control.Monad.Trans.Control (MonadBaseControl)
534import Data.Functor.Identity (Identity (..))
532import Data.Functor.Identity (Identity (..))
535−#if __GLASGOW_HASKELL__ >= 800
536import Data.Kind (Type)
533import Data.Kind (Type)
537−#endif
538import Data.Heap (Entry(..))
534import Data.Heap (Entry(..))
539import Data.Maybe (isJust, fromJust, isNothing)
535import Data.Maybe (isJust, fromJust, isNothing)
540import Data.Void (Void)
536import Data.Void (Void)
@@ -4470,10 +4466,6 @@ classifyKeepAliveChunks
4470classifyKeepAliveChunks spanout = classifyChunksBy spanout True
4466classifyKeepAliveChunks spanout = classifyChunksBy spanout True
4471-}
4467-}
4472
4468
4473−#if __GLASGOW_HASKELL__ < 800
4474−#define Type *
4475−#endif
4476−
4477data SessionState t m k a b = SessionState
4469data SessionState t m k a b = SessionState
4478 { sessionCurTime :: !AbsTime -- ^ time since last event
4470 { sessionCurTime :: !AbsTime -- ^ time since last event
4479 , sessionEventTime :: !AbsTime -- ^ time as per last event
4471 , sessionEventTime :: !AbsTime -- ^ time as per last event
src/Streamly/Prelude.hs−2
@@ -1,6 +1,4 @@
1−#if __GLASGOW_HASKELL__ >= 800
2{-# OPTIONS_GHC -Wno-orphans #-}
1{-# OPTIONS_GHC -Wno-orphans #-}
3−#endif
4
2
5#include "inline.hs"
3#include "inline.hs"
6
4
streamly.cabal+51−108
@@ -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
85− , 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
225
224
226 ghc-options: -Wall
225 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
227
233
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
237
243
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−
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:
318 streamly
315 streamly
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
322− if impl(ghc < 8.0)
323− build-depends:
324− transformers >= 0.4 && < 0.6
325− , semigroups >= 0.18 && < 0.19
326 default-language: Haskell2010
319 default-language: Haskell2010
327
320
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
359
353
360 -- Memory storage
354 -- Memory storage
@@ -394,6 +388,12 @@ library
394
388
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
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
471 , Streamly.Internal.Unicode.Array.Prim.Pinned
456 , Streamly.Internal.Unicode.Array.Prim.Pinned
472
457
473−
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
511− if impl(ghc < 8.0)
512− build-depends:
513− semigroups >= 0.18 && < 0.19
514
495
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:
535 streamly
516 streamly
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:
551 streamly
532 streamly
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:
563 streamly
544 streamly
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
567
548
@@ -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:
575 streamly
556 streamly
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
579
560
@@ -658,12 +639,9 @@ test-suite array-test
658 cpp-options: -DTEST_ARRAY
639 cpp-options: -DTEST_ARRAY
659 build-depends:
640 build-depends:
660 streamly
641 streamly
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
664− if impl(ghc < 8.0)
665− build-depends:
666− transformers >= 0.4 && < 0.6
667 default-language: Haskell2010
645 default-language: Haskell2010
668
646
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:
676 streamly
654 streamly
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:
690 streamly
668 streamly
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:
704 streamly
682 streamly
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:
718 streamly
696 streamly
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
722− if impl(ghc < 8.0)
723− build-depends:
724− transformers >= 0.4 && < 0.6
725 default-language: Haskell2010
700 default-language: Haskell2010
726
701
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:
735 streamly
710 streamly
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
739− if impl(ghc < 8.0)
740− build-depends:
741− transformers >= 0.4 && < 0.6
742 default-language: Haskell2010
714 default-language: Haskell2010
743
715
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:
752 streamly
724 streamly
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
756− if impl(ghc < 8.0)
757− buildable: False
758 default-language: Haskell2010
728 default-language: Haskell2010
759
729
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:
768 streamly
738 streamly
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
772− if impl(ghc < 8.0)
773− buildable: False
774 default-language: Haskell2010
742 default-language: Haskell2010
775
743
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:
783 streamly
751 streamly
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
787− if impl(ghc < 8.0)
788− build-depends:
789− transformers >= 0.4 && < 0.6
790 default-language: Haskell2010
755 default-language: Haskell2010
791
756
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:
802 streamly
767 streamly
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
806 else
771 else
@@ -814,7 +779,7 @@ test-suite loops
814 hs-source-dirs: test
779 hs-source-dirs: test
815 build-Depends:
780 build-Depends:
816 streamly
781 streamly
817− , base >= 4.8 && < 5
782+ , base >= 4.9 && < 5
818
783
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:
826 streamly
791 streamly
827− , base >= 4.8 && < 5
792+ , base >= 4.9 && < 5
828 , random >= 1.0.0 && < 2
793 , random >= 1.0.0 && < 2
829
794
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:
837 streamly
802 streamly
838− , base >= 4.8 && < 5
803+ , base >= 4.9 && < 5
839 , random >= 1.0.0 && < 2
804 , random >= 1.0.0 && < 2
840
805
841test-suite version-bounds
806test-suite version-bounds
@@ -847,7 +812,7 @@ test-suite version-bounds
847 build-Depends:
812 build-Depends:
848 streamly
813 streamly
849 , ghc
814 , ghc
850− , base >= 4.8 && < 5
815+ , base >= 4.9 && < 5
851
816
852-------------------------------------------------------------------------------
817-------------------------------------------------------------------------------
853-- Examples
818-- Examples
@@ -861,11 +826,8 @@ executable SearchQuery
861 buildable: True
826 buildable: True
862 build-depends:
827 build-depends:
863 streamly
828 streamly
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
866− if impl(ghc < 8.0)
867− build-depends:
868− unliftio-core < 0.2
869 else
831 else
870 buildable: False
832 buildable: False
871
833
@@ -877,10 +839,7 @@ executable ListDir
877 buildable: True
839 buildable: True
878 build-Depends:
840 build-Depends:
879 streamly
841 streamly
880− , base >= 4.8 && < 5
842+ , base >= 4.9 && < 5
881− if impl(ghc < 8.0)
882− build-depends:
883− transformers >= 0.4 && < 0.6
884 else
843 else
885 buildable: False
844 buildable: False
886
845
@@ -892,7 +851,7 @@ executable MergeSort
892 buildable: True
851 buildable: True
893 build-Depends:
852 build-Depends:
894 streamly
853 streamly
895− , base >= 4.8 && < 5
854+ , base >= 4.9 && < 5
896 , random >= 1.0.0 && < 2
855 , random >= 1.0.0 && < 2
897 else
856 else
898 buildable: False
857 buildable: False
@@ -905,12 +864,8 @@ executable AcidRain
905 buildable: True
864 buildable: True
906 build-Depends:
865 build-Depends:
907 streamly
866 streamly
908− , base >= 4.8 && < 5
867+ , base >= 4.9 && < 5
909 , mtl >= 2.2 && < 3
868 , 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
914 else
869 else
915 buildable: False
870 buildable: False
916
871
@@ -922,7 +877,7 @@ executable CirclingSquare
922 buildable: True
877 buildable: True
923 build-Depends:
878 build-Depends:
924 streamly
879 streamly
925− , base >= 4.8 && < 5
880+ , base >= 4.9 && < 5
926 , SDL >= 0.6.5 && < 0.7
881 , SDL >= 0.6.5 && < 0.7
927 else
882 else
928 buildable: False
883 buildable: False
@@ -935,13 +890,10 @@ executable ControlFlow
935 buildable: True
890 buildable: True
936 build-Depends:
891 build-Depends:
937 streamly
892 streamly
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
942− if impl(ghc < 8.0)
943− build-depends:
944− semigroups >= 0.18 && < 0.19
945 else
897 else
946 buildable: False
898 buildable: False
947
899
@@ -953,7 +905,7 @@ executable HandleIO
953 buildable: True
905 buildable: True
954 build-Depends:
906 build-Depends:
955 streamly
907 streamly
956− , base >= 4.8 && < 5
908+ , base >= 4.9 && < 5
957 else
909 else
958 buildable: False
910 buildable: False
959
911
@@ -965,7 +917,7 @@ executable FileIOExamples
965 buildable: True
917 buildable: True
966 build-Depends:
918 build-Depends:
967 streamly
919 streamly
968− , base >= 4.8 && < 5
920+ , base >= 4.9 && < 5
969 else
921 else
970 buildable: False
922 buildable: False
971
923
@@ -977,11 +929,8 @@ executable EchoServer
977 buildable: True
929 buildable: True
978 build-Depends:
930 build-Depends:
979 streamly
931 streamly
980− , base >= 4.8 && < 5
932+ , base >= 4.9 && < 5
981 , network >= 2.6 && < 4
933 , network >= 2.6 && < 4
982− if impl(ghc < 8.0)
983− build-depends:
984− transformers >= 0.4 && < 0.6
985 else
934 else
986 buildable: False
935 buildable: False
987
936
@@ -993,11 +942,8 @@ executable FileSinkServer
993 buildable: True
942 buildable: True
994 build-Depends:
943 build-Depends:
995 streamly
944 streamly
996− , base >= 4.8 && < 5
945+ , base >= 4.9 && < 5
997 , network >= 2.6 && < 4
946 , network >= 2.6 && < 4
998− if impl(ghc < 8.0)
999− build-depends:
1000− transformers >= 0.4 && < 0.6
1001 else
947 else
1002 buildable: False
948 buildable: False
1003
949
@@ -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
1013 else
959 else
1014 buildable: False
960 buildable: False
1015
961
@@ -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
1027 else
973 else
@@ -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
1040 else
986 else
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
1052 else
998 else
1053 buildable: False
999 buildable: False
1054
1000
@@ -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
1064 else
1010 else
1065 buildable: False
1011 buildable: False
1066
1012
@@ -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
1077− if impl(ghc < 8.0)
1078− build-depends:
1079− transformers >= 0.4 && < 0.6
1080 else
1023 else
1081 buildable: False
1024 buildable: False