packages feed

sext-0.1.3.1: sext.cabal

name: sext
version: 0.1.3.1
cabal-version: >=1.10
build-type: Simple
license: BSD3
license-file: LICENSE
maintainer: dima@dzhus.org
homepage: https://github.com/dzhus/sext#readme
bug-reports: https://github.com/dzhus/sext/issues
synopsis: Lists, Texts, ByteStrings and Vectors with type-encoded length
description:
    Sext (/s/tatic t/ext/) provides type-level safety for basic operations on string-like types (finite lists of elements). Use it when you need static guarantee on lengths of strings produced in your code.
category: Data, Text, Type System
author: Dmitry Dzhus
extra-source-files:
    CHANGELOG.md

source-repository head
    type: git
    location: https://github.com/dzhus/sext

flag bytestring
    description:
        Build interface for ByteString

flag text
    description:
        Build interface for Text

flag vector
    description:
        Build interface for Vector

library
    
    if flag(bytestring)
        build-depends:
            bytestring <0.11
        cpp-options: -DWITH_BS
    
    if flag(text)
        build-depends:
            text <1.3
        cpp-options: -DWITH_TEXT
    
    if flag(vector)
        build-depends:
            vector <0.13
        cpp-options: -DWITH_VECTOR
    exposed-modules:
        Data.Sext
        Data.Sext.Class
        Data.Sext.TH
    build-depends:
        base <5,
        template-haskell <2.13
    default-language: Haskell2010
    hs-source-dirs: src
    other-modules:
        Paths_sext
    ghc-options: -Wall

test-suite  sext-example
    type: exitcode-stdio-1.0
    main-is: Main.hs
    build-depends:
        base <5,
        template-haskell <2.13,
        bytestring <0.11,
        sext -any,
        tasty <0.12,
        tasty-hunit <0.10
    default-language: Haskell2010
    hs-source-dirs: tests
    ghc-options: -Wall