packages feed

text-show-3.11: text-show.cabal

name:                text-show
version:             3.11
synopsis:            Efficient conversion of values into Text
description:         @text-show@ offers a replacement for the @Show@ typeclass intended
                     for use with @Text@ instead of @String@s. This package was created
                     in the spirit of
                     @<http://hackage.haskell.org/package/bytestring-show bytestring-show>@.
                     .
                     For most uses, simply importing "TextShow"
                     will suffice:
                     .
                     @
                        module Main where
                        .
                        import TextShow
                        .
                        main :: IO ()
                        main = printT (Just \"Hello, World!\")
                     @
                     .
                     See also the
                     <https://github.com/RyanGlScott/text-show/wiki/Naming-conventions naming conventions>
                     page.
                     .
                     Support for automatically deriving @TextShow@ instances can be found
                     in the "TextShow.TH" and "TextShow.Generic" modules.
                     .
                     @text-show@ only provides instances for data types in the
                     following packages:
                     .
                     * @<http://hackage.haskell.org/package/array array>@
                     .
                     * @<http://hackage.haskell.org/package/base base>@
                     .
                     * @<http://hackage.haskell.org/package/bytestring bytestring>@
                     .
                     * @<http://hackage.haskell.org/package/text text>@
                     .
                     This policy is in place to keep @text-show@'s dependencies
                     reasonably light. If you need a @TextShow@ instance for a
                     library that is not in this list, it may be covered by the
                     @<http://hackage.haskell.org/package/text-show-instances text-show-instances>@
                     library.

homepage:            https://github.com/RyanGlScott/text-show
bug-reports:         https://github.com/RyanGlScott/text-show/issues
license:             BSD3
license-file:        LICENSE
author:              Ryan Scott
maintainer:          Ryan Scott <ryan.gl.scott@gmail.com>
stability:           Provisional
copyright:           (C) 2014-2017 Ryan Scott
category:            Text
build-type:          Simple
tested-with:         GHC == 8.0.2
                   , GHC == 8.2.2
                   , GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.4
                   , GHC == 8.10.7
                   , GHC == 9.0.2
                   , GHC == 9.2.8
                   , GHC == 9.4.8
                   , GHC == 9.6.6
                   , GHC == 9.8.2
                   , GHC == 9.10.1
                   , GHC == 9.12.1
extra-source-files:  CHANGELOG.md, README.md
cabal-version:       >=1.10

source-repository head
  type:                git
  location:            https://github.com/RyanGlScott/text-show

flag integer-gmp
  description:         When building with a version of GHC older than 9.0,
                       depend on the @integer-gmp@ library. You can disable
                       this if you do not wish to link against GMP, but at the
                       expense of having a slower @TextShow Natural@ instance.
  default:             True

library
  exposed-modules:     TextShow
                       TextShow.Control.Applicative
                       TextShow.Control.Concurrent
                       TextShow.Control.Exception
                       TextShow.Control.Monad.ST
                       TextShow.Data.Array
                       TextShow.Data.Array.Byte
                       TextShow.Data.Bool
                       TextShow.Data.ByteString
                       TextShow.Data.Char
                       TextShow.Data.Complex
                       TextShow.Data.Data
                       TextShow.Data.Dynamic
                       TextShow.Data.Either
                       TextShow.Data.Fixed
                       TextShow.Data.Floating
                       TextShow.Data.Functor.Compose
                       TextShow.Data.Functor.Identity
                       TextShow.Data.Functor.Product
                       TextShow.Data.Functor.Sum
                       TextShow.Debug.Trace
                       TextShow.Debug.Trace.Generic
                       TextShow.Debug.Trace.TH
                       TextShow.Generic
                       TextShow.Data.Integral
                       TextShow.Data.List
                       TextShow.Data.List.NonEmpty
                       TextShow.Data.Maybe
                       TextShow.Data.Monoid
                       TextShow.Data.Ord
                       TextShow.Data.Proxy
                       TextShow.Data.Ratio
                       TextShow.Data.Semigroup
                       TextShow.Data.Text
                       TextShow.Data.Tuple
                       TextShow.Data.Type.Coercion
                       TextShow.Data.Type.Equality
                       TextShow.Data.Typeable
                       TextShow.Data.Version
                       TextShow.Data.Void
                       TextShow.Foreign.C.Types
                       TextShow.Foreign.Ptr
                       TextShow.Functions
                       TextShow.GHC.Fingerprint
                       TextShow.GHC.Generics
                       TextShow.GHC.RTS.Flags
                       TextShow.GHC.Stack
                       TextShow.GHC.StaticPtr
                       TextShow.GHC.Stats
                       TextShow.GHC.TypeLits
                       TextShow.Numeric.Natural
                       TextShow.System.Exit
                       TextShow.System.IO
                       TextShow.System.Posix.Types
                       TextShow.Text.Read
                       TextShow.TH

                       -- Only exports functions if using Windows
                       TextShow.GHC.Conc.Windows
                       -- Only exports functions if not using Windows
                       TextShow.GHC.Event
  other-modules:       TextShow.Classes
                       TextShow.Data.Typeable.Utils
                       TextShow.FromStringTextShow
                       TextShow.Instances
                       TextShow.Options
                       TextShow.TH.Internal
                       TextShow.TH.Names
                       TextShow.Utils
  build-depends:       array                 >= 0.3      && < 0.6
                     , base                  >= 4.9      && < 4.22
                     , base-compat-batteries >= 0.11     && < 0.15
                     , bifunctors            >= 5.1      && < 6
                     , bytestring            >= 0.10.8.1 && < 0.13
                     , containers            >= 0.1      && < 0.8
                     , ghc-boot-th           >= 8.0      && < 9.13
                     , ghc-prim
                     , template-haskell      >= 2.11     && < 2.23
                     , text                  >= 1.1      && < 2.2
                     , th-abstraction        >= 0.5      && < 0.8
                     , transformers          >= 0.5      && < 0.7
                     , transformers-compat   >= 0.5      && < 1

  -- integer-gmp is only needed on pre-9.0 versions of GHC, as GHC 9.0+ add
  -- enough functionality to base to avoid the use of integer-gmp entirely.
  if !impl(ghc >= 9.0) && flag(integer-gmp)
    build-depends:     integer-gmp

  hs-source-dirs:      src, shared
  default-language:    Haskell2010
  ghc-options:         -Wall
  if impl(ghc >= 8.6)
    ghc-options:       -Wno-star-is-type
  if impl(ghc >= 9.0)
    ghc-options:       -fenable-th-splice-warnings

test-suite spec
  type:                exitcode-stdio-1.0
  main-is:             Spec.hs
  other-modules:       Derived.DataFamilies
                       Derived.DatatypeContexts
                       Derived.ExistentialQuantification
                       Derived.Infix
                       Derived.MagicHash
                       Derived.PolyKinds
                       Derived.RankNTypes
                       Derived.Records
                       Derived.TypeFamilies
                       Derived.TypeSynonyms

                       Instances.Control.Concurrent
                       Instances.Control.Exception
                       Instances.Control.Monad.ST
                       Instances.Data.Char
                       Instances.Data.Data
                       Instances.Data.Dynamic
                       Instances.Data.Floating
                       Instances.Data.Ord
                       Instances.Data.Semigroup
                       Instances.Data.Text
                       Instances.Data.Tuple
                       Instances.Data.Typeable
                       Instances.Data.Type.Coercion
                       Instances.Data.Type.Equality
                       Instances.Foreign.C.Types
                       Instances.Foreign.Ptr
                       Instances.FromStringTextShow
                       Instances.Generic
                       Instances.GHC.Fingerprint
                       Instances.GHC.Generics
                       Instances.GHC.RTS.Flags
                       Instances.GHC.Stack
                       Instances.GHC.StaticPtr
                       Instances.GHC.Stats
                       Instances.GHC.TypeLits
                       Instances.Options
                       Instances.System.IO
                       Instances.System.Posix.Types
                       Instances.Text.Read
                       Instances.Utils
                       Instances.Utils.GenericArbitrary

                       -- Only exports instances if using Windows
                       Instances.GHC.Conc.Windows
                       -- Only exports instances if not using Windows
                       Instances.GHC.Event

                       -- Only exports instances if base >= 4.12
                       Instances.Data.Monoid

                       Spec.BuilderSpec
                       Spec.Control.ApplicativeSpec
                       Spec.Control.ConcurrentSpec
                       Spec.Control.ExceptionSpec
                       Spec.Control.Monad.STSpec
                       Spec.Data.ArraySpec
                       Spec.Data.Array.ByteSpec
                       Spec.Data.BoolSpec
                       Spec.Data.ByteStringSpec
                       Spec.Data.CharSpec
                       Spec.Data.ComplexSpec
                       Spec.Data.DataSpec
                       Spec.Data.DynamicSpec
                       Spec.Data.EitherSpec
                       Spec.Data.FixedSpec
                       Spec.Data.FloatingSpec
                       Spec.Data.Functor.ComposeSpec
                       Spec.Data.Functor.IdentitySpec
                       Spec.Data.Functor.ProductSpec
                       Spec.Data.Functor.SumSpec
                       Spec.Data.IntegralSpec
                       Spec.Data.ListSpec
                       Spec.Data.List.NonEmptySpec
                       Spec.Data.MaybeSpec
                       Spec.Data.MonoidSpec
                       Spec.Data.OrdSpec
                       Spec.Data.ProxySpec
                       Spec.Data.RatioSpec
                       Spec.Data.SemigroupSpec
                       Spec.Data.TextSpec
                       Spec.Data.TupleSpec
                       Spec.Data.Type.CoercionSpec
                       Spec.Data.Type.EqualitySpec
                       Spec.Data.TypeableSpec
                       Spec.Data.VersionSpec
                       Spec.Derived.DataFamiliesSpec
                       Spec.Derived.DatatypeContextsSpec
                       Spec.Derived.ExistentialQuantificationSpec
                       Spec.Derived.InfixSpec
                       Spec.Derived.MagicHashSpec
                       Spec.Derived.PolyKindsSpec
                       Spec.Derived.RankNTypesSpec
                       Spec.Derived.RecordsSpec
                       Spec.Derived.TypeFamiliesSpec
                       Spec.Derived.TypeSynonymsSpec
                       Spec.Foreign.C.TypesSpec
                       Spec.Foreign.PtrSpec
                       Spec.FromStringTextShowSpec
                       Spec.FunctionsSpec
                       Spec.GenericSpec
                       Spec.GHC.FingerprintSpec
                       Spec.GHC.GenericsSpec
                       Spec.GHC.RTS.FlagsSpec
                       Spec.GHC.StackSpec
                       Spec.GHC.StaticPtrSpec
                       Spec.GHC.StatsSpec
                       Spec.GHC.TypeLitsSpec
                       Spec.Numeric.NaturalSpec
                       Spec.OptionsSpec
                       Spec.System.ExitSpec
                       Spec.System.IOSpec
                       Spec.System.Posix.TypesSpec
                       Spec.Text.ReadSpec
                       Spec.Utils

                       -- Only exports tests if using Windows
                       Spec.GHC.Conc.WindowsSpec
                       -- Only exports tests if not using Windows
                       Spec.GHC.EventSpec

                       TextShow.TH.Names
  build-depends:       array                 >= 0.3      && < 0.6
                     , base                  >= 4.9      && < 4.22
                     , base-compat-batteries >= 0.11     && < 0.15
                     , base-orphans          >= 0.8.5    && < 0.10
                     , bytestring            >= 0.10.8.1 && < 0.13
                     , deriving-compat       >= 0.6.5    && < 1
                     , generic-deriving      >= 1.14.1   && < 2
                     , ghc-prim
                     , hspec                 >= 2        && < 3
                     , QuickCheck            >= 2.14.3   && < 2.16
                     , quickcheck-instances  >= 0.3.28   && < 0.4
                     , template-haskell      >= 2.11     && < 2.23
                     , text                  >= 1.1      && < 2.2
                     , text-show
                     , transformers          >= 0.5      && < 0.7
                     , transformers-compat   >= 0.5      && < 1
  build-tool-depends:  hspec-discover:hspec-discover

  hs-source-dirs:      tests, shared
  default-language:    Haskell2010
  ghc-options:         -Wall -threaded -rtsopts
  if impl(ghc >= 8.6)
    ghc-options:       -Wno-star-is-type
  if impl(ghc >= 9.0)
    ghc-options:       -fenable-th-splice-warnings

benchmark bench
  type:                exitcode-stdio-1.0
  main-is:             Bench.hs
  build-depends:       base      >= 4.9    && < 4.22
                     , criterion >= 1.1.4  && < 2
                     , deepseq   >= 1.3    && < 2
                     , ghc-prim
                     , text-show
                     , text      >= 1.1    && < 2.2

  hs-source-dirs:      benchmarks
  default-language:    Haskell2010
  ghc-options:         -Wall