packages feed

sexp-grammar-2.3.1: sexp-grammar.cabal

name:                sexp-grammar
version:             2.3.1
license:             BSD3
license-file:        LICENSE
author:              Yevhen Smolanka, Sergey Vinokurov
maintainer:          Yevhen Smolanka <ys@polymorphic.me>
homepage:            https://github.com/esmolanka/sexp-grammar
category:            Language
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10
synopsis:
  Invertible grammar combinators for S-expressions
description:
  Serialisation to and deserialisation from S-expressions derived from
  a single grammar definition.
tested-with:   GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3, GHC == 8.6.5

source-repository head
  type: git
  location: https://github.com/esmolanka/sexp-grammar

library
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall -fno-warn-name-shadowing -fno-warn-unused-do-bind
  exposed-modules:
    Language.Sexp
    Language.Sexp.Located
    Language.SexpGrammar
    Language.SexpGrammar.TH
    Language.SexpGrammar.Generic

  other-modules:
    Language.Sexp.Encode
    Language.Sexp.Lexer
    Language.Sexp.Parser
    Language.Sexp.Pretty
    Language.Sexp.Token
    Language.Sexp.Types
    Language.SexpGrammar.Base
    Language.SexpGrammar.Class

  build-depends:
      array              >=0.5   && <0.6
    , base               >=4.7   && <5.0
    , bytestring         >=0.10  && <0.11
    , containers         >=0.5.5 && <0.7
    , data-fix           >=0.3   && <0.4
    , deepseq            >=1.0   && <2.0
    , invertible-grammar >=0.1.3 && <0.2
    , prettyprinter      >=1     && <1.8
    , recursion-schemes  >=5.2   && <5.3
    , scientific         >=0.3.3 && <0.4
    , semigroups         >=0.16  && <0.20
    , text               >=1.2   && <1.3
    , utf8-string        >=1.0   && <2.0

  build-tools: alex, happy

test-suite sexp-grammar-test
  type:              exitcode-stdio-1.0
  build-depends:
      QuickCheck
    , base
    , containers
    , invertible-grammar
    , prettyprinter
    , scientific
    , semigroups
    , sexp-grammar
    , tasty
    , tasty-hunit
    , tasty-quickcheck
    , text
    , utf8-string
  main-is:           Main.hs
  hs-source-dirs:    test
  default-language:  Haskell2010

benchmark sexp-grammar-bench
  type:              exitcode-stdio-1.0
  build-depends:
      base
    , bytestring
    , criterion
    , deepseq
    , sexp-grammar
    , text
  main-is:           Main.hs
  hs-source-dirs:    bench
  default-language:  Haskell2010