packages feed

sasha-0.2.0.1: sasha.cabal

cabal-version:      3.0
name:               sasha
version:            0.2.0.1
author:             Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
synopsis:           A staged lexer generator
description:
  Like @alex@, @sasha@ is lexer\/scanner generator; but it is using Typed Template Haskell.
  .
  The generated scanners are comparable in speed to @alex@ generated ones.

category:           Lexing, Development
license:            BSD-3-Clause
license-file:       LICENSE
homepage:           https://github.com/phadej/sasha
bug-reports:        https://github.com/phadej/sasha/issues
extra-source-files:
  CHANGELOG.md
  example.json

tested-with:
  GHC ==9.0.2
   || ==9.2.8
   || ==9.4.8
   || ==9.6.7
   || ==9.8.4
   || ==9.10.2
   || ==9.12.4
   || ==9.14.1

source-repository head
  type:     git
  location: https://github.com/phadej/sasha.git

common common
  default-language:   Haskell2010
  ghc-options:        -Wall
  default-extensions:
    BangPatterns
    OverloadedStrings
    PatternSynonyms
    ScopedTypeVariables
    TypeApplications

library
  import:            common
  hs-source-dirs:    src
  build-depends:
    , base              ^>=4.15.0.0  || ^>=4.16.0.0 || ^>=4.17.0.0 || ^>=4.18.0.0 || ^>=4.19.0.0 || ^>=4.20.0.0 || ^>=4.21.0.0 || ^>=4.22.0.0
    , bytestring        ^>=0.10.12.1 || ^>=0.11.3.1 || ^>=0.12.1.0
    , containers        ^>=0.6.4.1   || ^>=0.7      || ^>=0.8
    , lattices          ^>=2.1       || ^>=2.2
    , QuickCheck        ^>=2.14.2    || ^>=2.15     || ^>=2.18.0.0
    , template-haskell
    , th-letrec         ^>=0.1
    , wide-word         ^>=0.1.4.0
    , word8set          ^>=0.1.1

  exposed-modules:
    Sasha
    Sasha.Internal.ERE
    Sasha.Internal.Word8Set
    Sasha.TTH

  x-docspec-options:
    -XOverloadedStrings --check-properties "--property-variables=c p r s t q"

test-suite sasha-tests
  import:             common
  type:               exitcode-stdio-1.0
  hs-source-dirs:     tests
  main-is:            sasha-tests.hs
  other-modules:
    Sasha.Example.Alex
    Sasha.Example.Sasha
    Sasha.Example.SaTTH
    Sasha.Example.Token

  build-depends:
    , aeson
    , array
    , base
    , bytestring
    , deepseq
    , lattices
    , sasha

  -- test dependencies
  build-depends:
    , tasty             ^>=1.4.3    || ^>=1.5
    , tasty-bench       ^>=0.3.2    || ^>=0.5
    , tasty-hunit       ^>=0.10.0.3
    , tasty-quickcheck  ^>=0.10.2   || ^>=0.11.1
    , text              ^>=1.2.5.0  || ^>=2.0    || ^>=2.1.1

  build-tool-depends: alex:alex ^>=3.2.7.1 || ^>=3.5.1.0