text-show-instances 3.6.2 → 3.6.3
raw patch · 7 files changed
+121/−6 lines, 7 filesdep ~ghc-boot-thdep ~template-haskellPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: ghc-boot-th, template-haskell
API changes (from Hackage documentation)
- TextShow.Compiler.Hoopl: instance TextShow.Classes.TextShow v0 => TextShow.Classes.TextShow (Compiler.Hoopl.Label.LabelMap v0)
- TextShow.Compiler.Hoopl: instance TextShow.Classes.TextShow v0 => TextShow.Classes.TextShow (Compiler.Hoopl.Unique.UniqueMap v0)
- TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow1 f0, TextShow.Classes.TextShow2 p0) => TextShow.Classes.TextShow2 (Data.Bifunctor.Tannen.Tannen f0 p0)
- TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 f0, TextShow.Classes.TextShow2 g0) => TextShow.Classes.TextShow2 (Data.Bifunctor.Product.Product f0 g0)
- TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 p0, TextShow.Classes.TextShow1 f0, TextShow.Classes.TextShow1 g0) => TextShow.Classes.TextShow2 (Data.Bifunctor.Biff.Biff p0 f0 g0)
- TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 p0, TextShow.Classes.TextShow2 q0) => TextShow.Classes.TextShow2 (Data.Bifunctor.Sum.Sum p0 q0)
- TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow1 f0 => TextShow.Classes.TextShow2 (Data.Bifunctor.Clown.Clown f0)
- TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow1 g0 => TextShow.Classes.TextShow2 (Data.Bifunctor.Joker.Joker g0)
- TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow2 p0 => TextShow.Classes.TextShow2 (Data.Bifunctor.Flip.Flip p0)
- TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow2 p0 => TextShow.Classes.TextShow2 (Data.Bifunctor.Wrapped.WrappedBifunctor p0)
- TextShow.Data.Bifunctor: instance forall k k1 (f :: k1 -> *) (a :: k1) (b :: k). TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow (Data.Bifunctor.Clown.Clown f a b)
- TextShow.Data.Bifunctor: instance forall k k1 (f :: k1 -> k -> *) (a :: k1) (b :: k) (g :: k1 -> k -> *). (TextShow.Classes.TextShow (f a b), TextShow.Classes.TextShow (g a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Product.Product f g a b)
- TextShow.Data.Bifunctor: instance forall k k1 (f :: k1 -> k -> *) (a :: k1) (b :: k) (g :: k1 -> k -> *). (TextShow.Classes.TextShow (f a b), TextShow.Classes.TextShow (g a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Sum.Sum f g a b)
- TextShow.Data.Bifunctor: instance forall k k1 (p :: k1 -> k -> *) (a :: k1) (b :: k). TextShow.Classes.TextShow (p a b) => TextShow.Classes.TextShow (Data.Bifunctor.Wrapped.WrappedBifunctor p a b)
- TextShow.Data.Bifunctor: instance forall k k1 (p :: k1 -> k -> *) (b :: k1) (a :: k). TextShow.Classes.TextShow (p b a) => TextShow.Classes.TextShow (Data.Bifunctor.Flip.Flip p a b)
- TextShow.Data.Bifunctor: instance forall k k1 k2 (f :: k2 -> *) (p :: k1 -> k -> k2) (a :: k1) (b :: k). TextShow.Classes.TextShow (f (p a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Tannen.Tannen f p a b)
- TextShow.Data.Bifunctor: instance forall k k1 k2 k3 (p :: k3 -> k2 -> *) (f :: k1 -> k3) (a :: k1) (g :: k -> k2) (b :: k). TextShow.Classes.TextShow (p (f a) (g b)) => TextShow.Classes.TextShow (Data.Bifunctor.Biff.Biff p f g a b)
- TextShow.Data.Bifunctor: instance forall k1 (f :: k1 -> *) (a :: k1). TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow1 (Data.Bifunctor.Clown.Clown f a)
- TextShow.Data.Containers: instance (TextShow.Classes.TextShow k, TextShow.Classes.TextShow v) => TextShow.Classes.TextShow (Data.Map.Base.Map k v)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow Data.IntSet.Base.IntSet
- TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Sequence.Seq a)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Set.Base.Set a)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow a0 => TextShow.Classes.TextShow (Data.Sequence.ViewL a0)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow a0 => TextShow.Classes.TextShow (Data.Sequence.ViewR a0)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow a0 => TextShow.Classes.TextShow (Data.Tree.Tree a0)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow k => TextShow.Classes.TextShow1 (Data.Map.Base.Map k)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow v => TextShow.Classes.TextShow (Data.IntMap.Base.IntMap v)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow vertex0 => TextShow.Classes.TextShow (Data.Graph.SCC vertex0)
- TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.IntMap.Base.IntMap
- TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.Seq
- TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.ViewL
- TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.ViewR
- TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Set.Base.Set
- TextShow.Data.Containers: instance TextShow.Classes.TextShow2 Data.Map.Base.Map
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Scale.DiffTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Scale.UniversalTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.TAI.AbsoluteTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.UTC.NominalDiffTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.UTC.UTCTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.LocalTime.LocalTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.LocalTime.ZonedTime
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.TimeOfDay.TimeOfDay
- TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.TimeZone.TimeZone
- TextShow.Text.PrettyPrint: instance TextShow.Classes.TextShow a0 => TextShow.Classes.TextShow (Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails a0)
- TextShow.Text.PrettyPrint: instance TextShow.Classes.TextShow a0 => TextShow.Classes.TextShow (Text.PrettyPrint.Annotated.HughesPJ.Span a0)
+ TextShow.Compiler.Hoopl: instance TextShow.Classes.TextShow v => TextShow.Classes.TextShow (Compiler.Hoopl.Label.LabelMap v)
+ TextShow.Compiler.Hoopl: instance TextShow.Classes.TextShow v => TextShow.Classes.TextShow (Compiler.Hoopl.Unique.UniqueMap v)
+ TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow2 p) => TextShow.Classes.TextShow2 (Data.Bifunctor.Tannen.Tannen f p)
+ TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 f, TextShow.Classes.TextShow2 g) => TextShow.Classes.TextShow2 (Data.Bifunctor.Product.Product f g)
+ TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 p, TextShow.Classes.TextShow1 f, TextShow.Classes.TextShow1 g) => TextShow.Classes.TextShow2 (Data.Bifunctor.Biff.Biff p f g)
+ TextShow.Data.Bifunctor: instance (TextShow.Classes.TextShow2 p, TextShow.Classes.TextShow2 q) => TextShow.Classes.TextShow2 (Data.Bifunctor.Sum.Sum p q)
+ TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow1 f => TextShow.Classes.TextShow2 (Data.Bifunctor.Clown.Clown f)
+ TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow1 g => TextShow.Classes.TextShow2 (Data.Bifunctor.Joker.Joker g)
+ TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow2 p => TextShow.Classes.TextShow2 (Data.Bifunctor.Flip.Flip p)
+ TextShow.Data.Bifunctor: instance TextShow.Classes.TextShow2 p => TextShow.Classes.TextShow2 (Data.Bifunctor.Wrapped.WrappedBifunctor p)
+ TextShow.Data.Bifunctor: instance forall k (f :: k -> *) (a :: k). TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow1 (Data.Bifunctor.Clown.Clown f a)
+ TextShow.Data.Bifunctor: instance forall k k1 (f :: k -> k1 -> *) (a :: k) (b :: k1) (g :: k -> k1 -> *). (TextShow.Classes.TextShow (f a b), TextShow.Classes.TextShow (g a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Product.Product f g a b)
+ TextShow.Data.Bifunctor: instance forall k k1 (f :: k -> k1 -> *) (a :: k) (b :: k1) (g :: k -> k1 -> *). (TextShow.Classes.TextShow (f a b), TextShow.Classes.TextShow (g a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Sum.Sum f g a b)
+ TextShow.Data.Bifunctor: instance forall k k1 (p :: k -> k1 -> *) (a :: k) (b :: k1). TextShow.Classes.TextShow (p a b) => TextShow.Classes.TextShow (Data.Bifunctor.Wrapped.WrappedBifunctor p a b)
+ TextShow.Data.Bifunctor: instance forall k1 k (f :: k -> *) (a :: k) (b :: k1). TextShow.Classes.TextShow (f a) => TextShow.Classes.TextShow (Data.Bifunctor.Clown.Clown f a b)
+ TextShow.Data.Bifunctor: instance forall k1 k (p :: k1 -> k -> *) (b :: k1) (a :: k). TextShow.Classes.TextShow (p b a) => TextShow.Classes.TextShow (Data.Bifunctor.Flip.Flip p a b)
+ TextShow.Data.Bifunctor: instance forall k1 k2 k (f :: k -> *) (p :: k1 -> k2 -> k) (a :: k1) (b :: k2). TextShow.Classes.TextShow (f (p a b)) => TextShow.Classes.TextShow (Data.Bifunctor.Tannen.Tannen f p a b)
+ TextShow.Data.Bifunctor: instance forall k3 k2 k k1 (p :: k -> k1 -> *) (f :: k2 -> k) (a :: k2) (g :: k3 -> k1) (b :: k3). TextShow.Classes.TextShow (p (f a) (g b)) => TextShow.Classes.TextShow (Data.Bifunctor.Biff.Biff p f g a b)
+ TextShow.Data.Containers: instance (TextShow.Classes.TextShow k, TextShow.Classes.TextShow v) => TextShow.Classes.TextShow (Data.Map.Internal.Map k v)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow Data.IntSet.Internal.IntSet
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Sequence.Internal.Seq a)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Sequence.Internal.ViewL a)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Sequence.Internal.ViewR a)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Set.Internal.Set a)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Data.Tree.Tree a)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow k => TextShow.Classes.TextShow1 (Data.Map.Internal.Map k)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow v => TextShow.Classes.TextShow (Data.IntMap.Internal.IntMap v)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow vertex => TextShow.Classes.TextShow (Data.Graph.SCC vertex)
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.IntMap.Internal.IntMap
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.Internal.Seq
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.Internal.ViewL
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Sequence.Internal.ViewR
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow1 Data.Set.Internal.Set
+ TextShow.Data.Containers: instance TextShow.Classes.TextShow2 Data.Map.Internal.Map
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.AbsoluteTime.AbsoluteTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.DiffTime.DiffTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.NominalDiffTime.NominalDiffTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.SystemTime.SystemTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.UTCTime.UTCTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.Clock.Internal.UniversalTime.UniversalTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.Internal.LocalTime.LocalTime
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.Internal.TimeOfDay.TimeOfDay
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.Internal.TimeZone.TimeZone
+ TextShow.Data.Time: instance TextShow.Classes.TextShow Data.Time.LocalTime.Internal.ZonedTime.ZonedTime
+ TextShow.GHC.ForeignSrcLang.Type: instance TextShow.Classes.TextShow GHC.ForeignSrcLang.Type.ForeignSrcLang
+ TextShow.Language.Haskell.TH: instance TextShow.Classes.TextShow Language.Haskell.TH.Syntax.DerivClause
+ TextShow.Language.Haskell.TH: instance TextShow.Classes.TextShow Language.Haskell.TH.Syntax.DerivStrategy
+ TextShow.Language.Haskell.TH: instance TextShow.Classes.TextShow Language.Haskell.TH.Syntax.PatSynArgs
+ TextShow.Language.Haskell.TH: instance TextShow.Classes.TextShow Language.Haskell.TH.Syntax.PatSynDir
+ TextShow.Text.PrettyPrint: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Text.PrettyPrint.Annotated.HughesPJ.AnnotDetails a)
+ TextShow.Text.PrettyPrint: instance TextShow.Classes.TextShow a => TextShow.Classes.TextShow (Text.PrettyPrint.Annotated.HughesPJ.Span a)
Files
- CHANGELOG.md +3/−0
- src/TextShow/Language/Haskell/TH.hs +2/−0
- tests/Instances/Data/Vector.hs +42/−0
- tests/Instances/Language/Haskell/TH.hs +5/−0
- tests/Spec/Data/VectorSpec.hs +56/−0
- tests/Spec/Language/Haskell/THSpec.hs +2/−0
- text-show-instances.cabal +11/−6
CHANGELOG.md view
@@ -1,3 +1,6 @@+### 3.6.3 [2018.03.15]+* GHC 8.4 fixes+ ### 3.6.2 [2017.06.18] * Require `QuickCheck-2.10`/`quickcheck-instances-0.13.6` or later
src/TextShow/Language/Haskell/TH.hs view
@@ -109,8 +109,10 @@ $(deriveTextShow ''Dec) -- | /Since: 2/ $(deriveTextShow ''Exp)+#if !(MIN_VERSION_template_haskell(2,13,0)) -- | /Since: 2/ $(deriveTextShow ''FamFlavour)+#endif -- | /Since: 2/ $(deriveTextShow ''Fixity) -- | /Since: 2/
+ tests/Instances/Data/Vector.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-|+Module: Instances.Data.Vector+Copyright: (C) 2014-2017 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++Provides 'Arbitrary' instances for 'Vector' types.+-}+module Instances.Data.Vector () where++#if MIN_VERSION_vector(0,11,0)+import Data.Vector.Fusion.Bundle.Size (Size(..))+#else+import Data.Vector.Fusion.Stream.Size (Size(..))+#endif+import Data.Vector.Generic (fromList)+import qualified Data.Vector.Primitive as P (Vector)+import Data.Vector.Primitive (Prim)++import GHC.Generics (Generic)++import Instances.Utils.GenericArbitrary (genericArbitrary)++import Prelude ()+import Prelude.Compat++import Test.QuickCheck (Arbitrary(..))+import Test.QuickCheck.Instances ()++instance (Arbitrary a, Prim a) => Arbitrary (P.Vector a) where+ arbitrary = fromList <$> arbitrary++instance Arbitrary Size where+ arbitrary = genericArbitrary++deriving instance Generic Size
tests/Instances/Language/Haskell/TH.hs view
@@ -211,6 +211,9 @@ , pure $ AppTypeE fExp fType , UnboxedSumE fExp <$> arbitrary <*> arbitrary #endif+#if MIN_VERSION_template_haskell(2,13,0)+ , LabelE <$> arbitrary+#endif ] -- arbitrary = oneof [ VarE <$> arbitrary -- , ConE <$> arbitrary@@ -241,10 +244,12 @@ -- #endif -- ] +#if !(MIN_VERSION_template_haskell(2,13,0)) deriving instance Bounded FamFlavour deriving instance Enum FamFlavour instance Arbitrary FamFlavour where arbitrary = arbitraryBoundedEnum+#endif instance Arbitrary Fixity where arbitrary = genericArbitrary
+ tests/Spec/Data/VectorSpec.hs view
@@ -0,0 +1,56 @@+{-# LANGUAGE CPP #-}++{-|+Module: Spec.Data.VectorSpec+Copyright: (C) 2014-2017 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++@hspec@ tests for 'Vector' types.+-}+module Spec.Data.VectorSpec (main, spec) where++import Data.Proxy (Proxy(..))+import qualified Data.Vector as B (Vector)+#if MIN_VERSION_vector(0,11,0)+import Data.Vector.Fusion.Bundle.Size (Size)+#else+import Data.Vector.Fusion.Stream.Size (Size)+#endif+import qualified Data.Vector.Primitive as P (Vector)+import qualified Data.Vector.Storable as S (Vector)+import qualified Data.Vector.Unboxed as U (Vector)++import Instances.Data.Vector ()++import Spec.Utils (matchesTextShowSpec)+#if MIN_VERSION_base(4,9,0) && MIN_VERSION_vector(0,12,0)+import Spec.Utils (matchesTextShow1Spec)+#endif++import Test.Hspec (Spec, describe, hspec, parallel)++import TextShow.Data.Vector ()++main :: IO ()+main = hspec spec++spec :: Spec+spec = parallel $ do+ describe "(boxed) Vector Char" $ do+ let p :: Proxy (B.Vector Char)+ p = Proxy+ matchesTextShowSpec p+#if MIN_VERSION_base(4,9,0) && MIN_VERSION_vector(0,12,0)+ matchesTextShow1Spec p+#endif+ describe "(primitive) Vector Char" $+ matchesTextShowSpec (Proxy :: Proxy (P.Vector Char))+ describe "(storable) Vector Char" $+ matchesTextShowSpec (Proxy :: Proxy (S.Vector Char))+ describe "(unboxed) Vector Char" $+ matchesTextShowSpec (Proxy :: Proxy (U.Vector Char))+ describe "Size" $+ matchesTextShowSpec (Proxy :: Proxy Size)
tests/Spec/Language/Haskell/THSpec.hs view
@@ -65,8 +65,10 @@ matchesTextShowSpec (Proxy :: Proxy Doc) describe "Exp" $ matchesTextShowSpec (Proxy :: Proxy Exp)+#if !(MIN_VERSION_template_haskell(2,13,0)) describe "FamFlavour" $ matchesTextShowSpec (Proxy :: Proxy FamFlavour)+#endif #if MIN_VERSION_template_haskell(2,11,0) describe "FamilyResultSig" $ matchesTextShowSpec (Proxy :: Proxy FamilyResultSig)
text-show-instances.cabal view
@@ -1,5 +1,5 @@ name: text-show-instances-version: 3.6.2+version: 3.6.3 synopsis: Additional instances for text-show description: @text-show-instances@ is a supplemental library to @text-show@ that provides additional @Show@ instances for data types in@@ -70,6 +70,8 @@ , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2+ , GHC == 8.2.2+ , GHC == 8.4.1 extra-source-files: CHANGELOG.md, README.md cabal-version: >=1.10 @@ -167,8 +169,8 @@ build-depends: base >= 4.5 && < 4.9 if flag(template-haskell-2-11)- build-depends: template-haskell >= 2.11 && < 2.13- , ghc-boot-th >= 8.0 && < 8.3+ build-depends: template-haskell >= 2.11 && < 2.15+ , ghc-boot-th >= 8.0 && < 8.5 else build-depends: template-haskell >= 2.7 && < 2.11 @@ -195,6 +197,7 @@ Instances.Data.Binary Instances.Data.Containers Instances.Data.Functor.Trans+ Instances.Data.Vector Instances.Language.Haskell.TH Instances.Miscellaneous Instances.System.Console.Haskeline@@ -230,6 +233,7 @@ Spec.Data.BinarySpec Spec.Data.ContainersSpec Spec.Data.Functor.TransSpec+ Spec.Data.VectorSpec Spec.Data.TaggedSpec Spec.Data.TimeSpec Spec.Data.UnorderedContainersSpec@@ -272,7 +276,7 @@ , old-time >= 1 && < 1.2 , pretty >= 1 && < 1.2 , process >= 1 && < 1.7- , QuickCheck >= 2.10 && < 2.11+ , QuickCheck >= 2.10 && < 2.12 , quickcheck-instances >= 0.3.16 && < 0.4 , random >= 1.0.1 && < 1.2 , semigroups >= 0.17 && < 1@@ -284,6 +288,7 @@ , unordered-containers >= 0.2 && < 0.3 , vector >= 0.9 && < 0.13 , xhtml >= 3000.2 && < 3000.3+ build-tool-depends: hspec-discover:hspec-discover if flag(base-4-9) build-depends: base >= 4.9 && < 5@@ -292,8 +297,8 @@ build-depends: base >= 4.5 && < 4.9 if flag(template-haskell-2-11)- build-depends: template-haskell >= 2.11 && < 2.13- , ghc-boot-th >= 8.0 && < 8.3+ build-depends: template-haskell >= 2.11 && < 2.15+ , ghc-boot-th >= 8.0 && < 8.5 else build-depends: template-haskell >= 2.7 && < 2.11