mirror of
https://github.com/ilyakooo0/streamly.git
synced 2024-10-06 13:17:10 +03:00
Add support for GHC 8.8
Fix warnings. Add a travis CI build matrix entry
This commit is contained in:
parent
f2fe19185b
commit
7c9c1c48b5
11
.travis.yml
11
.travis.yml
@ -84,15 +84,18 @@ matrix:
|
||||
#- env: BUILD=cabal-v2 GHCVER=head
|
||||
# addons: {apt: {packages: [cabal-install-head,ghc-head], sources: [hvr-ghc]}}
|
||||
|
||||
- env: BUILD=cabal-v2 GHCVER=8.8.1 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flag benchmark --allow-newer=base,ghc"
|
||||
addons: {apt: {packages: [cabal-install-head,ghc-8.8.1], sources: [hvr-ghc]}}
|
||||
|
||||
- env: BUILD=cabal-v2 GHCVER=8.6.5 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flags streamk"
|
||||
addons: {apt: {packages: [cabal-install-head,ghc-8.6.5], sources: [hvr-ghc]}}
|
||||
addons: {apt: {packages: [cabal-install-2.4,ghc-8.6.5], sources: [hvr-ghc]}}
|
||||
|
||||
- env: BUILD=cabal-v2 GHCVER=8.4.4 GHC_OPTIONS=""
|
||||
addons: {apt: {packages: [cabal-install-head,ghc-8.4.4], sources: [hvr-ghc]}}
|
||||
addons: {apt: {packages: [cabal-install-2.4,ghc-8.4.4], sources: [hvr-ghc]}}
|
||||
|
||||
# GHC-8.2.2 hogs memory leading to out-of-memory when compiling benchmarks
|
||||
- env: BUILD=cabal-v2 GHCVER=8.2.2 GHC_OPTIONS="" DISABLE_BENCH=y
|
||||
addons: {apt: {packages: [cabal-install-2.4,ghc-8.2.2], sources: [hvr-ghc]}}
|
||||
#- env: BUILD=cabal-v2 GHCVER=8.2.2 GHC_OPTIONS="" DISABLE_BENCH=y
|
||||
# addons: {apt: {packages: [cabal-install-2.4,ghc-8.2.2], sources: [hvr-ghc]}}
|
||||
|
||||
- env: BUILD=cabal-v2 GHCVER=8.0.2 GHC_OPTIONS="" CABAL_BUILD_OPTIONS="--flags examples-sdl"
|
||||
addons: {apt: {packages: [cabal-install-2.4,ghc-8.0.2,libsdl1.2-dev], sources: [hvr-ghc]}}
|
||||
|
@ -39,7 +39,9 @@ import Control.Monad.Catch (throwM)
|
||||
import Control.Monad.IO.Class (MonadIO(..))
|
||||
import Control.Monad.Trans.Control (control)
|
||||
import Data.Maybe (isJust, fromJust)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import Streamly.Strict (Tuple'(..), Tuple3'(..), Either'(..))
|
||||
import Streamly.SVar (MonadAsync)
|
||||
|
||||
|
@ -78,7 +78,9 @@ import Control.DeepSeq (NFData(..))
|
||||
import Control.DeepSeq (NFData1(..))
|
||||
#endif
|
||||
import Data.Functor.Identity (Identity, runIdentity)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import GHC.Exts (IsList(..), IsString(..))
|
||||
|
||||
import Streamly.Streams.Serial (SerialT)
|
||||
|
@ -126,11 +126,16 @@ import Data.Concurrent.Queue.MichaelScott (LinkedQueue, pushL)
|
||||
import Data.Functor (void)
|
||||
import Data.Heap (Heap, Entry(..))
|
||||
import Data.Int (Int64)
|
||||
#if __GLASGOW_HASKELL__ >= 800
|
||||
import Data.Kind (Type)
|
||||
#endif
|
||||
import Data.IORef
|
||||
(IORef, modifyIORef, newIORef, readIORef, writeIORef, atomicModifyIORef)
|
||||
import Data.List ((\\))
|
||||
import Data.Maybe (fromJust)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup ((<>))
|
||||
#endif
|
||||
import Data.Set (Set)
|
||||
import GHC.Conc (ThreadId(..))
|
||||
import GHC.Exts
|
||||
@ -169,11 +174,15 @@ data ChildEvent a =
|
||||
ChildYield a
|
||||
| ChildStop ThreadId (Maybe SomeException)
|
||||
|
||||
#if __GLASGOW_HASKELL__ < 800
|
||||
#define Type *
|
||||
#endif
|
||||
-- | Sorting out-of-turn outputs in a heap for Ahead style streams
|
||||
data AheadHeapEntry (t :: (* -> *) -> * -> *) m a =
|
||||
data AheadHeapEntry (t :: (Type -> Type) -> Type -> Type) m a =
|
||||
AheadEntryNull
|
||||
| AheadEntryPure a
|
||||
| AheadEntryStream (t m a)
|
||||
#undef Type
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
-- State threaded around the monad for thread management
|
||||
|
@ -39,7 +39,9 @@ import Control.Monad.Trans.Class (MonadTrans(lift))
|
||||
import Data.Heap (Heap, Entry(..))
|
||||
import Data.IORef (IORef, readIORef, atomicModifyIORef, writeIORef)
|
||||
import Data.Maybe (fromJust)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import GHC.Exts (inline)
|
||||
|
||||
import qualified Data.Heap as H
|
||||
|
@ -49,7 +49,9 @@ import Control.Monad.Trans.Class (MonadTrans(lift))
|
||||
import Data.Concurrent.Queue.MichaelScott (LinkedQueue, newQ, nullQ, tryPopR)
|
||||
import Data.IORef (IORef, newIORef, readIORef)
|
||||
import Data.Maybe (fromJust)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
|
||||
import Prelude hiding (map)
|
||||
import qualified Data.Set as S
|
||||
|
@ -49,7 +49,9 @@ import Control.Monad.Trans.Class (MonadTrans(lift))
|
||||
import Data.Functor (void)
|
||||
import Data.IORef (readIORef, writeIORef)
|
||||
import Data.Maybe (fromJust)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import Prelude hiding (map)
|
||||
|
||||
import qualified Data.Set as Set
|
||||
|
@ -1,3 +1,4 @@
|
||||
{-# LANGUAGE CPP #-}
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
|
||||
-- |
|
||||
@ -23,7 +24,9 @@ import Control.Monad.Catch (throwM)
|
||||
import Control.Monad.IO.Class (MonadIO(liftIO))
|
||||
import Data.IORef (newIORef, readIORef, mkWeakIORef, writeIORef)
|
||||
import Data.Maybe (isNothing)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup ((<>))
|
||||
#endif
|
||||
import System.IO (hPutStrLn, stderr)
|
||||
import Streamly.Time.Clock (Clock(Monotonic), getTime)
|
||||
import System.Mem (performMajorGC)
|
||||
|
@ -59,7 +59,9 @@ import Control.Monad.State.Class (MonadState(..))
|
||||
import Control.Monad.Trans.Class (MonadTrans(lift))
|
||||
import Data.Functor.Identity (Identity(..), runIdentity)
|
||||
import Data.Foldable (fold)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import GHC.Exts (IsList(..), IsString(..))
|
||||
import Text.Read (Lexeme(Ident), lexP, parens, prec, readPrec, readListPrec,
|
||||
readListPrecDefault)
|
||||
|
@ -83,7 +83,12 @@ where
|
||||
import Control.Monad (void, ap, (>=>))
|
||||
import Control.Monad.IO.Class (MonadIO(liftIO))
|
||||
import Control.Monad.Trans.Class (MonadTrans(lift))
|
||||
#if __GLASGOW_HASKELL__ >= 800
|
||||
import Data.Kind (Type)
|
||||
#endif
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import Prelude hiding (map, mapM, concatMap, foldr)
|
||||
|
||||
import Streamly.SVar
|
||||
@ -765,11 +770,15 @@ instance Monoid (Stream m a) where
|
||||
-- Functor
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
#if __GLASGOW_HASKELL__ < 800
|
||||
#define Type *
|
||||
#endif
|
||||
-- Note eta expanded
|
||||
{-# INLINE_LATE mapFB #-}
|
||||
mapFB :: forall (t :: (* -> *) -> * -> *) b m a.
|
||||
mapFB :: forall (t :: (Type -> Type) -> Type -> Type) b m a.
|
||||
(b -> t m b -> t m b) -> (a -> b) -> a -> t m b -> t m b
|
||||
mapFB c f = \x ys -> c (f x) ys
|
||||
#undef Type
|
||||
|
||||
{-# RULES
|
||||
"mapFB/mapFB" forall c f g. mapFB (mapFB c f) g = mapFB c (f . g)
|
||||
|
@ -45,7 +45,9 @@ import Control.DeepSeq (NFData1(..))
|
||||
#endif
|
||||
import Data.Functor.Identity (Identity, runIdentity)
|
||||
import Data.Foldable (fold)
|
||||
#if __GLASGOW_HASKELL__ < 808
|
||||
import Data.Semigroup (Semigroup(..))
|
||||
#endif
|
||||
import GHC.Exts (IsList(..), IsString(..))
|
||||
import Text.Read (Lexeme(Ident), lexP, parens, prec, readPrec, readListPrec,
|
||||
readListPrecDefault)
|
||||
|
@ -92,7 +92,8 @@ license-file: LICENSE
|
||||
tested-with: GHC==7.10.3
|
||||
, GHC==8.0.2
|
||||
, GHC==8.4.4
|
||||
, GHC==8.6.4
|
||||
, GHC==8.6.5
|
||||
, GHC==8.8.1
|
||||
author: Harendra Kumar
|
||||
maintainer: harendra.kumar@gmail.com
|
||||
copyright: 2017 Harendra Kumar
|
||||
@ -203,7 +204,6 @@ common compile-options
|
||||
-Wincomplete-uni-patterns
|
||||
-Wredundant-constraints
|
||||
-Wnoncanonical-monad-instances
|
||||
-Wnoncanonical-monadfail-instances
|
||||
|
||||
common optimization-options
|
||||
ghc-options: -O2
|
||||
@ -350,7 +350,7 @@ library
|
||||
|
||||
if flag(benchmark)
|
||||
build-depends: inspection-testing >= 0.4 && < 0.5
|
||||
, template-haskell >= 2.14 && < 2.15
|
||||
, template-haskell >= 2.14 && < 2.16
|
||||
|
||||
if !impl(ghcjs)
|
||||
build-depends:
|
||||
|
Loading…
Reference in New Issue
Block a user