/
unicode-data.cabal
156 lines (145 loc) · 5.16 KB
/
unicode-data.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
cabal-version: 2.2
name: unicode-data
version: 0.4.0.1
synopsis: Access Unicode Character Database (UCD)
description:
@unicode-data@ provides Haskell APIs to efficiently access the
<https://www.unicode.org/ucd/ Unicode character database> (UCD).
Performance is the primary goal in the design of this package.
.
The Haskell data structures are generated programmatically from the UCD files.
The latest Unicode version supported by this library is
@<https://www.unicode.org/versions/Unicode15.0.0/ 15.0.0>@.
homepage: http://github.com/composewell/unicode-data
bug-reports: https://github.com/composewell/unicode-data/issues
license: Apache-2.0
license-file: LICENSE
author: Composewell Technologies and Contributors
maintainer: streamly@composewell.com
copyright: 2020 Composewell Technologies and Contributors
category: Data,Text,Unicode
stability: Experimental
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.7
, GHC==9.6.2
extra-doc-files:
Changelog.md
README.md
NOTICE
source-repository head
type: git
location: https://github.com/composewell/unicode-data
common default-extensions
default-extensions:
BangPatterns
DeriveGeneric
MagicHash
RecordWildCards
ScopedTypeVariables
TupleSections
FlexibleContexts
-- Experimental, may lead to issues
UnboxedTuples
common compile-options
ghc-options: -Wall
-fwarn-identities
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fwarn-tabs
default-language: Haskell2010
library
import: default-extensions, compile-options
exposed-modules:
Unicode.Char
-- The module structure is derived from
-- https://www.unicode.org/reports/tr44/#Property_Index_Table
Unicode.Char.Case
Unicode.Char.Case.Compat
Unicode.Char.General
Unicode.Char.General.Blocks
Unicode.Char.General.Compat
Unicode.Char.Identifiers
Unicode.Char.Normalization
Unicode.Char.Numeric
Unicode.Char.Numeric.Compat
-- Internal files
Unicode.Internal.Bits
Unicode.Internal.Division
Unicode.Internal.Unfold
-- Generated files
-- This module structure is largely based on the UCD file names from which
-- the properties are generated.
Unicode.Internal.Char.Blocks
Unicode.Internal.Char.CaseFolding
Unicode.Internal.Char.DerivedCoreProperties
Unicode.Internal.Char.DerivedNumericValues
Unicode.Internal.Char.PropList
Unicode.Internal.Char.SpecialCasing.LowerCaseMapping
Unicode.Internal.Char.SpecialCasing.TitleCaseMapping
Unicode.Internal.Char.SpecialCasing.UpperCaseMapping
Unicode.Internal.Char.UnicodeData.CombiningClass
Unicode.Internal.Char.UnicodeData.Compositions
Unicode.Internal.Char.UnicodeData.Decomposable
Unicode.Internal.Char.UnicodeData.DecomposableK
Unicode.Internal.Char.UnicodeData.Decompositions
Unicode.Internal.Char.UnicodeData.DecompositionsK
Unicode.Internal.Char.UnicodeData.DecompositionsK2
Unicode.Internal.Char.UnicodeData.GeneralCategory
Unicode.Internal.Char.UnicodeData.SimpleLowerCaseMapping
Unicode.Internal.Char.UnicodeData.SimpleTitleCaseMapping
Unicode.Internal.Char.UnicodeData.SimpleUpperCaseMapping
hs-source-dirs: lib
ghc-options: -O2
build-depends:
base >=4.7 && < 4.20
test-suite test
import: default-extensions, compile-options
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
test
other-modules:
Unicode.CharSpec
build-depends:
base >= 4.7 && < 4.20
, hspec >= 2.0 && < 2.12
, unicode-data
-- We need to match a GHC version with the same Unicode version.
-- See: test/Unicode/CharSpec.hs for compatibility table.
if impl(ghc >= 9.6.0) && impl(ghc < 9.8.0)
cpp-options: -DCOMPATIBLE_GHC_UNICODE
benchmark bench
import: default-extensions, compile-options
type: exitcode-stdio-1.0
hs-source-dirs: bench
main-is: Main.hs
other-modules:
Unicode.Char.Bench
Unicode.Char.CaseBench
Unicode.Char.Case.CompatBench
Unicode.Char.GeneralBench
Unicode.Char.General.BlocksBench
Unicode.Char.General.CompatBench
Unicode.Char.IdentifiersBench
Unicode.Char.NormalizationBench
Unicode.Char.NumericBench
Unicode.Char.Numeric.CompatBench
build-depends:
base >= 4.7 && < 4.20,
deepseq >= 1.1 && < 1.6,
tasty-bench >= 0.2.5 && < 0.4,
tasty >= 1.4.1 && < 1.5,
unicode-data
-- [NOTE] Recommendation of tasty-bench to reduce garbage collection noisiness
ghc-options: -O2 -fdicts-strict -rtsopts -with-rtsopts=-A32m
-- [NOTE] Recommendation of tasty-bench for comparison against baseline
if impl(ghc >= 8.6)
ghc-options: -fproc-alignment=64