packages feed

text-builder-linear-0.1: text-builder-linear.cabal

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