diff options
author | Carlo Holl <carloholl@gmail.com> | 2020-10-31 19:02:29 -0700 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-11-01 13:34:45 +0000 |
commit | aeb94a1fad3a648c4007706521a2e5eef28bbc6f (patch) | |
tree | b86b4869c325036ba368e7dbb336df05e1d120a6 /gnu | |
parent | 21c211337f36be6a3d769a084f5c22519601c15d (diff) |
gnu: Add ghc-text-short.
* gnu/packages/haskell-xyz.scm (ghc-text-short): New variable.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/haskell-xyz.scm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 0412ebd66c..cb249406bd 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -8911,6 +8911,45 @@ require aeson (description "Safe conversions between textual types") (license license:isc))) +(define-public ghc-text-short + (package + (name "ghc-text-short") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/text-short/text-short-" + version + ".tar.gz")) + (sha256 + (base32 + "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz")))) + (build-system haskell-build-system) + (inputs `(("ghc-hashable" ,ghc-hashable))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-quickcheck-instances" + ,ghc-quickcheck-instances))) + (arguments + `(#:cabal-revision + ("2" + "17cb7p0qywf2dsrq3g8qb3ssknd9wl5k0nc2pxz9gc3l8rxpkw51"))) + (home-page "https://hackage.haskell.org/package/text-short") + (synopsis "Memory-efficient representation of Unicode text strings") + (description "This package provides the @code{ShortText} type which +is suitable for keeping many short strings in memory. This is similiar +to how @code{ShortByteString} relates to @code{ByteString}. + +The main difference between @code{Text} and @code{ShortText} is that +@code{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.") + (license license:bsd-3))) + (define-public ghc-doclayout (package (name "ghc-doclayout") |