packages feed

scanner-attoparsec-0.2: scanner-attoparsec.cabal

name:                scanner-attoparsec
version:             0.2
synopsis:            Inject attoparsec parser with backtracking into non-backtracking scanner
homepage:            https://github.com/Yuras/scanner-attoparsec
license:             BSD3
license-file:        LICENSE
author:              Yuras Shumovich
maintainer:          shumovichy@gmail.com
copyright:           (c) Yuras Shumovich 2016
category:            Parsing
build-type:          Simple
extra-source-files:  README.md changelog.md
cabal-version:       >=1.10
description:         Backtracking kills performance, so scanner package doesn't support it.
                     But sometimes you just need it. E.g. you have a mostly non-backtracking
                     parser, but a small bit of its grammar is too complex to transform it
                     to non-backtracking form. In that case you can inject a backtracking
                     attoparsec parser into otherwise non-backtracking scanner.
                     .
                     See also http://hackage.haskell.org/scanner

source-repository head
  type:                git
  location:            git@github.com:Yuras/scanner-attoparsec.git

library
  exposed-modules:     Scanner.Attoparsec
  other-modules:       Data.Either
  ghc-options:         -O2
  build-depends:       base <5
                     , bytestring
                     , attoparsec >= 0.14.1
                     , scanner <0.4
  hs-source-dirs:      lib, compat
  default-language:    Haskell2010

test-suite spec
  type:                exitcode-stdio-1.0
  hs-source-dirs:      spec, compat
  main-is:             spec.hs
  other-modules:       Data.Either
  build-depends:       base <5
                     , bytestring
                     , scanner
                     , attoparsec
                     , hspec
                     , scanner-attoparsec
  default-language:    Haskell2010