text-show-instances 3.2.1 → 3.3
raw patch · 16 files changed
+483/−32 lines, 16 filesdep +ghc-bootdep ~QuickCheckdep ~text-showdep ~text-show-instances
Dependencies added: ghc-boot
Dependency ranges changed: QuickCheck, text-show, text-show-instances, th-orphans
Files
- CHANGELOG.md +7/−0
- README.md +1/−1
- src/TextShow/Data/Bifunctor.hs +1/−1
- src/TextShow/GHC/LanguageExtensions/Type.hs +41/−0
- src/TextShow/GHC/PackageDb.hs +109/−0
- src/TextShow/Instances.hs +22/−19
- src/TextShow/Language/Haskell/TH.hs +40/−0
- tests/Instances/Data/Functor/Trans.hs +5/−0
- tests/Instances/GHC/LanguageExtensions/Type.hs +27/−0
- tests/Instances/GHC/PackageDb.hs +62/−0
- tests/Instances/Language/Haskell/TH.hs +18/−0
- tests/Instances/Miscellaneous.hs +4/−0
- tests/Spec/GHC/LanguageExtensions/TypeSpec.hs +42/−0
- tests/Spec/GHC/PackageDbSpec.hs +60/−0
- tests/Spec/Language/Haskell/THSpec.hs +10/−0
- text-show-instances.cabal +34/−11
CHANGELOG.md view
@@ -1,3 +1,10 @@+## 3.3+* Add the `TextShow.GHC.LanguageExtensions.Type` and `TextShow.GHC.PackageDb` modules, which define instances if using `ghc-boot`+* Add `TextShow` instances for `NameFlavour`, `NameSpace`, `PatSynArgs`, and `PatSynDir` in `TextShow.Language.Haskell.TH`+* Require `text-show-3.3` or later, which has slightly different TH derivation behavior. As a result, the context for the `TextShow1` instance for `Clown` in `TextShow.Data.Bifunctor` had to be changed slightly.+* Allow building with `QuickCheck-2.9`+* Fix GHC HEAD build+ ### 3.2.1 * Fix build with GHC 8.0 * Add `TextShow` instance for `Overlap` in `TextShow.Language.Haskell.TH`
README.md view
@@ -21,6 +21,7 @@ * [`binary`](http://hackage.haskell.org/package/binary) * [`containers`](http://hackage.haskell.org/package/containers) * [`directory`](http://hackage.haskell.org/package/directory)+* [`ghc-boot`](http://hackage.haskell.org/package/ghc-boot) * [`haskeline`](http://hackage.haskell.org/package/haskeline) * [`hoopl`](http://hackage.haskell.org/package/hoopl) * [`hpc`](http://hackage.haskell.org/package/hpc)@@ -28,7 +29,6 @@ * [`old-time`](http://hackage.haskell.org/package/old-time) * [`pretty`](http://hackage.haskell.org/package/pretty) * [`random`](http://hackage.haskell.org/package/random)-* [`semigroups`](http://hackage.haskell.org/package/semigroups) * [`tagged`](http://hackage.haskell.org/package/tagged) * [`template-haskell`](http://hackage.haskell.org/package/template-haskell) * [`terminfo`](http://hackage.haskell.org/package/terminfo)
src/TextShow/Data/Bifunctor.hs view
@@ -229,7 +229,7 @@ instance TextShow (f a) => TextShow (Clown f a b) where showbPrec = $(makeShowbPrec ''Clown)-instance (TextShow1 f, TextShow a) => TextShow1 (Clown f a) where+instance TextShow (f a) => TextShow1 (Clown f a) where liftShowbPrec = $(makeLiftShowbPrec ''Clown) $(deriveTextShow2 ''Clown)
+ src/TextShow/GHC/LanguageExtensions/Type.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE CPP #-}++#if defined(MIN_VERSION_ghc_boot)+{-# LANGUAGE TemplateHaskell #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+#endif++{-|+Module: TextShow.GHC.LanguageExtensions.Type+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++Monomorphic 'TextShow' function for the 'Extension' data type.+This module only exports functions if using @ghc-boot@.++/Since: 3.3/+-}+module TextShow.GHC.LanguageExtensions.Type (+#if !defined(MIN_VERSION_ghc_boot)+ ) where+#else+ showbExtension+ ) where++import GHC.LanguageExtensions.Type (Extension)++import TextShow (TextShow(..), Builder)+import TextShow.TH (deriveTextShow)++-- | Convert an 'Extension' to a 'Builder'.+-- This function is only available when using @ghc-boot@.+--+-- /Since: 3.3/+showbExtension :: Extension -> Builder+showbExtension = showb++$(deriveTextShow ''Extension)+#endif
+ src/TextShow/GHC/PackageDb.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE CPP #-}++#if defined(MIN_VERSION_ghc_boot)+{-# LANGUAGE TemplateHaskell #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+#endif++{-|+Module: TextShow.GHC.PackageDb+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++Monomorphic 'TextShow' functions for data types in the "GHC.PackageDb" module.+This module only exports functions if using @ghc-boot@.++/Since: 3.3/+-}+module TextShow.GHC.PackageDb (+#if !defined(MIN_VERSION_ghc_boot)+ ) where+#else+ liftShowbInstalledPackageInfoPrec2+# if __GLASGOW_HASKELL__ >= 801+ , liftShowbDbModulePrec2+# else+ , liftShowbOriginalModulePrec2+ , liftShowbExposedModulePrec2+# endif+ ) where++import GHC.PackageDb++import TextShow (TextShow(..), TextShow2(..), Builder)+import TextShow.TH (deriveTextShow, deriveTextShow1, deriveTextShow2)++-- | Convert an 'InstalledPackageInfo' value to a 'Builder' with the given+-- show functions and precedence.+-- This function is only available when using @ghc-boot@ and GHC 8.1 or later.+--+-- /Since: 3.3/+liftShowbInstalledPackageInfoPrec2 :: ( TextShow srcpkgid+ , TextShow srcpkgname+# if __GLASGOW_HASKELL__ >= 801+ , TextShow unitid+# endif+ )+ => (Int -> a -> Builder) -> ([a] -> Builder)+ -> (Int -> b -> Builder) -> ([b] -> Builder)+ -> Int+ -> InstalledPackageInfo srcpkgid srcpkgname+# if __GLASGOW_HASKELL__ >= 801+ unitid+# endif+ a b+ -> Builder+liftShowbInstalledPackageInfoPrec2 = liftShowbPrec2++# if __GLASGOW_HASKELL__ >= 801+-- | Convert a 'DbModule' value to a 'Builder' with the given show functions+-- and precedence.+-- This function is only available when using @ghc-boot@.+--+-- /Since: 3.3/+liftShowbDbModulePrec2 :: (Int -> unitid -> Builder) -> ([unitid] -> Builder)+ -> (Int -> modulename -> Builder) -> ([modulename] -> Builder)+ -> Int -> DbModule unitid modulename -> Builder+liftShowbDbModulePrec2 = liftShowbPrec2+# else+-- | Convert an 'OriginalModule' value to a 'Builder' with the given show functions+-- and precedence.+-- This function is only available when using @ghc-boot@.+--+-- /Since: 3.3/+liftShowbOriginalModulePrec2 :: (Int -> unitid -> Builder) -> ([unitid] -> Builder)+ -> (Int -> modulename -> Builder) -> ([modulename] -> Builder)+ -> Int -> OriginalModule unitid modulename -> Builder+liftShowbOriginalModulePrec2 = liftShowbPrec2++-- | Convert an 'ExposedModule' value to a 'Builder' with the given show functions+-- and precedence.+-- This function is only available when using @ghc-boot@.+--+-- /Since: 3.3/+liftShowbExposedModulePrec2 :: (Int -> unitid -> Builder) -> ([unitid] -> Builder)+ -> (Int -> modulename -> Builder) -> ([modulename] -> Builder)+ -> Int -> ExposedModule unitid modulename -> Builder+liftShowbExposedModulePrec2 = liftShowbPrec2+# endif++$(deriveTextShow ''InstalledPackageInfo)+$(deriveTextShow1 ''InstalledPackageInfo)+$(deriveTextShow2 ''InstalledPackageInfo)+# if __GLASGOW_HASKELL__ >= 801+$(deriveTextShow ''DbModule)+$(deriveTextShow1 ''DbModule)+$(deriveTextShow2 ''DbModule)+# else+$(deriveTextShow ''OriginalModule)+$(deriveTextShow1 ''OriginalModule)+$(deriveTextShow2 ''OriginalModule)++$(deriveTextShow ''ExposedModule)+$(deriveTextShow1 ''ExposedModule)+$(deriveTextShow2 ''ExposedModule)+# endif+#endif
src/TextShow/Instances.hs view
@@ -28,29 +28,32 @@ import TextShow -import TextShow.Compiler.Hoopl ()+import TextShow.Compiler.Hoopl () -import TextShow.Control.Applicative.Trans ()-import TextShow.Control.Monad.Trans ()+import TextShow.Control.Applicative.Trans ()+import TextShow.Control.Monad.Trans () -import TextShow.Data.Bifunctor ()-import TextShow.Data.Binary ()-import TextShow.Data.Containers ()-import TextShow.Data.Functor.Trans ()-import TextShow.Data.Tagged ()-import TextShow.Data.Time ()-import TextShow.Data.UnorderedContainers ()-import TextShow.Data.Vector ()+import TextShow.Data.Bifunctor ()+import TextShow.Data.Binary ()+import TextShow.Data.Containers ()+import TextShow.Data.Functor.Trans ()+import TextShow.Data.Tagged ()+import TextShow.Data.Time ()+import TextShow.Data.UnorderedContainers ()+import TextShow.Data.Vector () -import TextShow.Language.Haskell.TH ()+import TextShow.GHC.LanguageExtensions.Type ()+import TextShow.GHC.PackageDb () -import TextShow.System.Console.Haskeline ()-import TextShow.System.Console.Terminfo ()-import TextShow.System.Locale ()-import TextShow.System.Posix ()-import TextShow.System.Random ()-import TextShow.System.Time ()-import TextShow.System.Win32 ()+import TextShow.Language.Haskell.TH ()++import TextShow.System.Console.Haskeline ()+import TextShow.System.Console.Terminfo ()+import TextShow.System.Locale ()+import TextShow.System.Posix ()+import TextShow.System.Random ()+import TextShow.System.Time ()+import TextShow.System.Win32 () import TextShow.Text.PrettyPrint ()
src/TextShow/Language/Haskell/TH.hs view
@@ -65,11 +65,17 @@ #endif , showbName , showbName'+ , showbNameFlavourPrec+ , showbNameSpace , showbOccNamePrec #if MIN_VERSION_template_haskell(2,11,0) , showbOverlap #endif , showbPatPrec+#if __GLASGOW_HASKELL__ >= 801+ , showbPatSynArgsPrec+ , showbPatSynDirPrec+#endif #if MIN_VERSION_template_haskell(2,8,0) , showbPhasesPrec #endif@@ -297,7 +303,18 @@ else classify $ TL.tail t' else False +-- | Convert a 'NameFlavour' to a 'Builder' with the given precedence.+--+-- /Since: 3.3/+showbNameFlavourPrec :: Int -> NameFlavour -> Builder+showbNameFlavourPrec = showbPrec +-- | Convert a 'NameSpace' to a 'Builder'.+--+-- /Since: 3.3/+showbNameSpace :: NameSpace -> Builder+showbNameSpace = showb+ -- | Convert an 'OccName' to a 'Builder' with the given precedence. -- -- /Since: 2/@@ -536,6 +553,22 @@ showbTypeFamilyHeadPrec = showbPrec #endif +#if __GLASGOW_HASKELL__ >= 801+-- | Convert a 'PatSynArgs' value to a 'Builder' with the given precedence.+-- This function is only available with GHC 8.1 or later.+--+-- /Since: 3.3/+showbPatSynArgsPrec :: Int -> PatSynArgs -> Builder+showbPatSynArgsPrec = showbPrec++-- | Convert a 'PatSynDir' value to a 'Builder' with the given precedence.+-- This function is only available with GHC 8.1 or later.+--+-- /Since: 3.3/+showbPatSynDirPrec :: Int -> PatSynDir -> Builder+showbPatSynDirPrec = showbPrec+#endif+ $(deriveTextShow ''Body) $(deriveTextShow ''Callconv) $(deriveTextShow ''Clause)@@ -557,6 +590,8 @@ instance TextShow Name where showb = showbName +$(deriveTextShow ''NameFlavour)+$(deriveTextShow ''NameSpace) $(deriveTextShow ''OccName) $(deriveTextShow ''Pat) $(deriveTextShow ''PkgName)@@ -609,4 +644,9 @@ $(deriveTextShow ''TypeFamilyHead) #else $(deriveTextShow ''Strict)+#endif++#if __GLASGOW_HASKELL__ >= 801+$(deriveTextShow ''PatSynArgs)+$(deriveTextShow ''PatSynDir) #endif
tests/Instances/Data/Functor/Trans.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE StandaloneDeriving #-}@@ -15,7 +16,9 @@ module Instances.Data.Functor.Trans () where import Data.Functor.Compose (Compose(..))+#if !(MIN_VERSION_QuickCheck(2,9,0)) import Data.Functor.Constant (Constant(..))+#endif import Data.Functor.Product (Product(..)) import Data.Functor.Reverse (Reverse(..)) import Data.Functor.Sum (Sum(..))@@ -26,7 +29,9 @@ import Test.QuickCheck (Arbitrary(..), oneof) deriving instance Arbitrary (f (g a)) => Arbitrary (Compose f g a)+#if !(MIN_VERSION_QuickCheck(2,9,0)) deriving instance Arbitrary a => Arbitrary (Constant a b)+#endif deriving instance Arbitrary (f a) => Arbitrary (Reverse f a) instance (Arbitrary (f a), Arbitrary (g a)) => Arbitrary (Product f g a) where
+ tests/Instances/GHC/LanguageExtensions/Type.hs view
@@ -0,0 +1,27 @@+{-# LANGUAGE CPP #-}++#if defined(MIN_VERSION_ghc_boot)+{-# LANGUAGE StandaloneDeriving #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+#endif++{-|+Module: Instances.GHC.LanguageExtensions.Type+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++Provides an 'Arbitrary' instance for the 'Extension' data type.+-}+module Instances.GHC.LanguageExtensions.Type () where++#if defined(MIN_VERSION_ghc_boot)+import GHC.LanguageExtensions.Type (Extension(..))+import Test.QuickCheck (Arbitrary(..), arbitraryBoundedEnum)++deriving instance Bounded Extension+instance Arbitrary Extension where+ arbitrary = arbitraryBoundedEnum+#endif
+ tests/Instances/GHC/PackageDb.hs view
@@ -0,0 +1,62 @@+{-# LANGUAGE CPP #-}++#if defined(MIN_VERSION_ghc_boot)+{-# OPTIONS_GHC -fno-warn-orphans #-}+#endif++{-|+Module: Instances.GHC.PackageDb+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++Provides 'Arbitrary' instances for data types in the "GHC.PackageDb" module.+-}+module Instances.GHC.PackageDb () where++#if defined(MIN_VERSION_ghc_boot)+import GHC.PackageDb++import Instances.Miscellaneous ()+import Instances.Utils ((<@>))++import Test.QuickCheck (Arbitrary(..))++instance ( Arbitrary srcpkgid+ , Arbitrary srcpkgname+ , Arbitrary unitid+ , Arbitrary modulename+# if __GLASGOW_HASKELL__ >= 801+ , Arbitrary mod+# endif+ )+ => Arbitrary ( InstalledPackageInfo srcpkgid srcpkgname unitid modulename+# if __GLASGOW_HASKELL__ >= 801+ mod+# endif+ ) where+ arbitrary = InstalledPackageInfo <$> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary <@> []+ <*> arbitrary <@> [] <@> []+ <@> [] <@> [] <@> []+ <@> [] <@> [] <@> []+ <@> [] <@> [] <@> []+ <@> [] <*> arbitrary <*> arbitrary+ <*> arbitrary <*> arbitrary++# if __GLASGOW_HASKELL__ >= 801+instance (Arbitrary unitid, Arbitrary modulename)+ => Arbitrary (DbModule unitid modulename) where+ arbitrary = DbModule <$> arbitrary <*> arbitrary+# else+instance (Arbitrary unitid, Arbitrary modulename)+ => Arbitrary (ExposedModule unitid modulename) where+ arbitrary = ExposedModule <$> arbitrary <*> arbitrary++instance (Arbitrary unitid, Arbitrary modulename)+ => Arbitrary (OriginalModule unitid modulename) where+ arbitrary = OriginalModule <$> arbitrary <*> arbitrary+# endif+#endif
tests/Instances/Language/Haskell/TH.hs view
@@ -134,6 +134,10 @@ #else , FamilyD <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary #endif+#if __GLASGOW_HASKELL__ >= 801+ , PatSynD <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary+ , PatSynSigD <$> arbitrary <*> arbitrary+#endif ] -- arbitrary = oneof [ -- FunD <$> arbitrary <*> arbitrary@@ -300,6 +304,9 @@ #if MIN_VERSION_template_haskell(2,7,0) , pure $ FamilyI fDec [fDec] #endif+#if __GLASGOW_HASKELL__ >= 801+ , PatSynI <$> arbitrary <*> arbitrary+#endif ] -- arbitrary = oneof [ -- #if MIN_VERSION_template_haskell(2,5,0)@@ -646,6 +653,17 @@ deriving instance Enum Strict instance Arbitrary Strict where arbitrary = arbitraryBoundedEnum+#endif++#if __GLASGOW_HASKELL__ >= 801+instance Arbitrary PatSynArgs where+ arbitrary = oneof $ map pure [ PrefixPatSyn [fName]+ , InfixPatSyn fName fName+ , RecordPatSyn [fName]+ ]++instance Arbitrary PatSynDir where+ arbitrary = oneof $ map pure [ Unidir, ImplBidir, ExplBidir [fClause] ] #endif deriving instance Arbitrary ModName
tests/Instances/Miscellaneous.hs view
@@ -16,7 +16,9 @@ #include "HsBaseConfig.h" +#if !(MIN_VERSION_QuickCheck(2,9,0)) import Data.Version (Version(..))+#endif import Foreign.Ptr (Ptr, nullPtr, plusPtr) @@ -56,9 +58,11 @@ instance Arbitrary (Ptr a) where arbitrary = plusPtr nullPtr <$> arbitrary +#if !(MIN_VERSION_QuickCheck(2,9,0)) instance Arbitrary Version where arbitrary = pure $ Version [0] [""] -- arbitrary = Version <$> arbitrary <*> arbitrary+#endif #if MIN_VERSION_base(4,5,0)
+ tests/Spec/GHC/LanguageExtensions/TypeSpec.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE CPP #-}+{-|+Module: Spec.GHC.LanguageExtensions.TypeSpec+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++@hspec@ tests for the 'Extension' data type.+-}+module Spec.GHC.LanguageExtensions.TypeSpec (main, spec) where++import Prelude ()+import Prelude.Compat++import Test.Hspec (Spec, hspec, parallel)++#if defined(MIN_VERSION_ghc_boot)+import GHC.LanguageExtensions.Type (Extension)++import Instances.GHC.LanguageExtensions.Type ()++import Spec.Utils (prop_matchesTextShow)++import Test.Hspec (describe)+import Test.Hspec.QuickCheck (prop)++import TextShow.GHC.LanguageExtensions.Type ()+#endif++main :: IO ()+main = hspec spec++spec :: Spec+spec = parallel $ do+#if defined(MIN_VERSION_ghc_boot)+ describe "Extension" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> Extension -> Bool)+#else+ pure ()+#endif
+ tests/Spec/GHC/PackageDbSpec.hs view
@@ -0,0 +1,60 @@+{-# LANGUAGE CPP #-}+{-|+Module: Spec.GHC.PackageDbSpec+Copyright: (C) 2014-2016 Ryan Scott+License: BSD-style (see the file LICENSE)+Maintainer: Ryan Scott+Stability: Provisional+Portability: GHC++@hspec@ tests for data types in the "GHC.PackageDb" module.+-}+module Spec.GHC.PackageDbSpec (main, spec) where++import Prelude ()+import Prelude.Compat++import Test.Hspec (Spec, hspec, parallel)++#if defined(MIN_VERSION_ghc_boot)+import GHC.PackageDb++import Instances.GHC.PackageDb ()++import Spec.Utils (prop_matchesTextShow)++import Test.Hspec (describe)+import Test.Hspec.QuickCheck (prop)++import TextShow.GHC.PackageDb ()++ipiString :: String+# if __GLASGOW_HASKELL__ >= 801+type IPI = InstalledPackageInfo Int Int Int Int Int+ipiString = "InstalledPackageInfo Int Int Int Int Int"+# else+type IPI = InstalledPackageInfo Int Int Int Int+ipiString = "InstalledPackageInfo Int Int Int Int"+# endif+#endif++main :: IO ()+main = hspec spec++spec :: Spec+spec = parallel $ do+#if defined(MIN_VERSION_ghc_boot)+ describe ipiString $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> IPI -> Bool)+# if __GLASGOW_HASKELL__ >= 801+ describe "DbModule Int Int" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> DbModule Int Int -> Bool)+# else+ describe "OriginalModule Int Int" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> OriginalModule Int Int -> Bool)+ describe "ExposedModule Int Int" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> ExposedModule Int Int -> Bool)+# endif+#else+ pure ()+#endif
tests/Spec/Language/Haskell/THSpec.hs view
@@ -111,6 +111,10 @@ prop "TextShow instance" (prop_matchesTextShow :: Int -> Name -> Bool) describe "showbName'" $ prop "has the same output as showName" prop_showName'+ describe "NameFlavour" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> NameFlavour -> Bool)+ describe "NameSpace" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> NameSpace -> Bool) describe "OccName" $ prop "TextShow instance" (prop_matchesTextShow :: Int -> OccName -> Bool) #if MIN_VERSION_template_haskell(2,11,0)@@ -119,6 +123,12 @@ #endif describe "Pat" $ prop "TextShow instance" (prop_matchesTextShow :: Int -> Pat -> Bool)+#if __GLASGOW_HASKELL__ >= 801+ describe "PatSynArgs" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> PatSynArgs -> Bool)+ describe "PatSynDir" $+ prop "TextShow instance" (prop_matchesTextShow :: Int -> PatSynDir -> Bool)+#endif #if MIN_VERSION_template_haskell(2,8,0) describe "Phases" $ prop "TextShow instance" (prop_matchesTextShow :: Int -> Phases -> Bool)
text-show-instances.cabal view
@@ -1,5 +1,5 @@ name: text-show-instances-version: 3.2.1+version: 3.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@@ -15,6 +15,8 @@ . * @<http://hackage.haskell.org/package/directory directory>@ .+ * @<http://hackage.haskell.org/package/ghc-boot ghc-boot>@+ . * @<http://hackage.haskell.org/package/haskeline haskeline>@ . * @<http://hackage.haskell.org/package/hoopl hoopl>@@@ -29,8 +31,6 @@ . * @<http://hackage.haskell.org/package/random random>@ .- * @<http://hackage.haskell.org/package/semigroups semigroups>@- . * @<http://hackage.haskell.org/package/tagged tagged>@ . * @<http://hackage.haskell.org/package/template-haskell template-haskell>@@@ -84,6 +84,11 @@ default: False manual: True +flag ghc-boot+ description: Depend on the ghc-boot package.+ default: True+ manual: False+ library exposed-modules: TextShow.Instances @@ -108,6 +113,10 @@ TextShow.Text.XHtml TextShow.Trace.Hpc + -- Only exports functions if using ghc-boot+ TextShow.GHC.LanguageExtensions.Type+ TextShow.GHC.PackageDb+ -- Only exports functions if using Windows TextShow.System.Win32 @@ -133,7 +142,7 @@ , tagged >= 0.4.4 && < 1 , template-haskell >= 2.5 && < 2.12 , text >= 0.11.1 && < 1.3- , text-show >= 3 && < 4+ , text-show >= 3.3 && < 4 , time >= 0.1 && < 1.7 , transformers >= 0.2.1 && < 0.6 , transformers-compat >= 0.5 && < 1@@ -147,6 +156,9 @@ includes: inline.h install-includes: inline.h + if flag(ghc-boot)+ build-depends: ghc-boot+ if os(windows) build-depends: Win32 >= 2.1 && < 2.4 else@@ -175,10 +187,14 @@ Instances.Trace.Hpc Instances.Utils - -- Only exports functions if using Windows+ -- Only defines instances if using ghc-boot+ Instances.GHC.LanguageExtensions.Type+ Instances.GHC.PackageDb++ -- Only defines instances if using Windows Instances.System.Win32 - -- Only exports functions if not using Windows+ -- Only defines instances if not using Windows Instances.System.Console.Terminfo Instances.System.Posix @@ -203,10 +219,14 @@ Spec.Trace.HpcSpec Spec.Utils - -- Only exports functions if using Windows+ -- Only defines tests if using ghc-boot+ Spec.GHC.LanguageExtensions.TypeSpec+ Spec.GHC.PackageDbSpec++ -- Only defines tests if using Windows Spec.System.Win32Spec - -- Only exports functions if not using Windows+ -- Only defines tests if not using Windows Spec.System.Console.TerminfoSpec Spec.System.PosixSpec build-depends: base >= 4.3 && < 5@@ -232,8 +252,8 @@ , tagged >= 0.4.4 && < 1 , template-haskell >= 2.5 && < 2.12 , text >= 0.11.1 && < 1.3- , text-show >= 3.2 && < 4- , th-orphans >= 0.12 && < 1+ , text-show >= 3.3 && < 4+ , th-orphans >= 0.13.2 && < 1 , time >= 0.1 && < 1.7 , transformers >= 0.2.1 && < 0.6 , transformers-compat >= 0.5 && < 1@@ -241,7 +261,10 @@ , vector >= 0.9 && < 0.12 , xhtml >= 3000.2 && < 3000.3 if !flag(developer)- build-depends: text-show-instances == 3.2.1+ build-depends: text-show-instances == 3.3++ if flag(ghc-boot)+ build-depends: ghc-boot hs-source-dirs: tests if flag(developer)