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
|
cabal-version: 2.2
name: unicode-data
version: 0.6.0
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.1.0/ 15.1.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.8
, GHC==9.6.5
, GHC==9.8.2
, GHC==9.10.1
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
LambdaCase
-- 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
flag dev-has-icu
description:
Use ICU for test and benchmark. Intended for development on the repository.
manual: True
default: False
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
Unicode.Internal.Char.Version
hs-source-dirs: lib
ghc-options: -O2
build-depends:
base >=4.7 && < 4.21
if impl(ghc < 9.0)
-- Required for unpackCString#
build-depends: ghc-prim
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.21
, hspec >= 2.0 && < 2.12
, unicode-data
if flag(dev-has-icu)
cpp-options: -DHAS_ICU
other-modules:
ICU.CharSpec
build-depends:
icu
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.21,
deepseq >= 1.1 && < 1.6,
tasty-bench >= 0.2.5 && < 0.4,
tasty >= 1.4.1 && < 1.6,
unicode-data
if impl(ghc < 9.0)
-- Required for noinline
build-depends: ghc-prim
-- [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
|