-
Notifications
You must be signed in to change notification settings - Fork 10
/
text-show.cabal
342 lines (325 loc) · 14.9 KB
/
text-show.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
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 <[email protected]>
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