cabal-version: 2.4
name: text-builder-linear
version: 0.1
license: BSD-3-Clause
license-file: LICENSE
copyright: 2022 Andrew Lelechenko
author: Andrew Lelechenko
maintainer: Andrew Lelechenko <andrew.lelechenko@gmail.com>
homepage: https://github.com/Bodigrim/linear-builder
category: Text
synopsis: Builder for Text based on linear types
description:
Strict Text builder, which hides mutable buffer behind linear types
and takes amortized linear time.
extra-source-files: changelog.md README.md
tested-with: GHC == 9.0.2, GHC == 9.2.2
source-repository head
type: git
location: git://github.com/Bodigrim/linear-builder.git
common stanza
build-depends: base >= 4.15 && < 5, text >= 2.0
default-language: Haskell2010
ghc-options: -Wall
default-extensions:
BangPatterns
CPP
DeriveGeneric
GADTs
KindSignatures
LambdaCase
LinearTypes
MagicHash
NumDecimals
RankNTypes
ScopedTypeVariables
UnboxedTuples
UnicodeSyntax
ViewPatterns
if impl(ghc >= 9.2)
default-extensions:
UnliftedDatatypes
library
import: stanza
build-depends: bytestring >= 0.10.12, quote-quot >= 0.2.1
hs-source-dirs: src
ghc-options: -O2 -fexpose-all-unfoldings
exposed-modules:
Data.Text.Builder.Linear
Data.Text.Builder.Linear.Buffer
Data.Text.Builder.Linear.Core
other-modules:
Data.Text.Builder.Linear.Char
Data.Text.Builder.Linear.Dec
Data.Text.Builder.Linear.Double
Data.Text.Builder.Linear.Hex
test-suite linear-builder-tests
import: stanza
type: exitcode-stdio-1.0
main-is: Main.hs
build-depends:
text-builder-linear,
tasty,
tasty-quickcheck
hs-source-dirs: test
ghc-options: -Wno-orphans -threaded -rtsopts "-with-rtsopts -N"
benchmark linear-builder-bench
import: stanza
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
BenchChar
BenchDecimal
BenchDouble
BenchHexadecimal
BenchText
hs-source-dirs: bench
ghc-options: -rtsopts
build-depends:
text-builder-linear,
-- text-builder,
tasty,
tasty-bench >= 0.3
default-language: Haskell2010
ghc-options: -O2