ghc-text-short/text-short-0.1.5.cabal

122 lines
3.1 KiB
Plaintext

cabal-version: 1.18
name: text-short
version: 0.1.5
x-revision: 1
synopsis: Memory-efficient representation of Unicode text strings
license: BSD3
license-file: LICENSE
author: Herbert Valerio Riedel
maintainer: hvr@gnu.org
bug-reports: https://github.com/hvr/text-short/issues
category: Data
build-type: Simple
description:
This package provides the 'ShortText' type which is suitable for keeping many short strings in memory. This is similiar to how 'ShortByteString' relates to 'ByteString'.
.
The main difference between 'Text' and 'ShortText' is that 'ShortText' uses UTF-8 instead of UTF-16 internally and also doesn't support zero-copy slicing (thereby saving 2 words). Consequently, the memory footprint of a (boxed) 'ShortText' value is 4 words (2 words when unboxed) plus the length of the UTF-8 encoded payload.
tested-with:
GHC ==7.8.4
|| ==7.10.3
|| ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.5
|| ==8.8.3
|| ==8.10.7
|| ==9.0.2
|| ==9.2.4
|| ==9.4.2
extra-source-files: ChangeLog.md
source-repository head
type: git
location: https://github.com/hvr/text-short.git
flag asserts
description: Enable runtime-checks via @assert@
default: False
manual: True
library
exposed-modules:
Data.Text.Short
Data.Text.Short.Partial
Data.Text.Short.Unsafe
other-modules: Data.Text.Short.Internal
build-depends:
base >=4.7 && <4.18
, binary >=0.7.1 && <0.9
, bytestring >=0.10.4 && <0.12
, deepseq >=1.3 && <1.5
, ghc-prim >=0.3.1 && <0.10
, hashable >=1.2.6 && <1.5
, template-haskell >=2.9.0.0 && <2.20
, text >=1.0 && <1.3 || >=2.0 && <2.1
if impl(ghc >=8.0)
build-depends: bytestring >=0.10.8.0
if !impl(ghc >=8.0)
build-depends: semigroups >=0.18.2 && <0.21
-- GHC version specific PrimOps
if impl(ghc >=8.4)
hs-source-dirs: src-ghc804
else
c-sources: cbits/memcmp.c
hs-source-dirs: src-ghc708
other-modules: PrimOps
hs-source-dirs: src
default-language: Haskell2010
other-extensions:
CPP
GeneralizedNewtypeDeriving
MagicHash
Trustworthy
UnliftedFFITypes
Unsafe
if impl(ghc >=8)
other-extensions: TemplateHaskellQuotes
else
other-extensions: TemplateHaskell
c-sources: cbits/cbits.c
if flag(asserts)
ghc-options: -fno-ignore-asserts
else
cc-options: -DNDEBUG=1
ghc-options: -Wall
cc-options: -Wall
test-suite tests
type: exitcode-stdio-1.0
hs-source-dirs: src-test
main-is: Tests.hs
-- bytestring dependency for cabal_macros.h
build-depends:
base
, binary
, bytestring
, template-haskell
, text
, text-short
-- deps which don't inherit constraints from library stanza:
build-depends:
tasty >=1.4 && <1.5
, tasty-hunit >=0.10.0 && <0.11
, tasty-quickcheck >=0.10 && <0.11
default-language: Haskell2010