cabal-version: 2.2 name: parsley -- https://wiki.haskell.org/Package_versioning_policy -- PVP summary: +--------- breaking API changes -- | +------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 2.0.0.1 synopsis: A fast parser combinator library backed by Typed Template Haskell description: Parsley is a staged selective parser combinator library, which means it does not support monadic operations, and relies on Typed Template Haskell to generate very fast code. Currently there are no error messages but there are plans for this in the works. . Based on the work found in [/Staged Selective Parser Combinators/ (Willis et al. 2020)](https://dl.acm.org/doi/10.1145/3409002) homepage: https://github.com/j-mie6/ParsleyHaskell/tree/master/parsley bug-reports: https://github.com/j-mie6/ParsleyHaskell/issues license: BSD-3-Clause license-file: LICENSE author: Jamie Willis, Parsley Contributors maintainer: Jamie Willis category: Parsing build-type: Simple extra-doc-files: ChangeLog.md README.md tested-with: GHC == 8.6.1, GHC == 8.6.2, GHC == 8.6.3, GHC == 8.6.4, GHC == 8.6.5, GHC == 8.8.1, GHC == 8.8.2, GHC == 8.8.3, GHC == 8.8.4, GHC == 8.10.4, GHC == 8.10.5, GHC == 9.0.1 library exposed-modules: Parsley, Parsley.Applicative, Parsley.Alternative, Parsley.Char, Parsley.Combinator, Parsley.Defunctionalized, Parsley.Debug, Parsley.Selective, Parsley.Register, Parsley.Fold, --Parsley.Patterns, Parsley.InputExtras, Parsley.Precedence, Parsley.ParserOps default-extensions: BangPatterns, DataKinds, GADTs, FlexibleContexts, FlexibleInstances, KindSignatures, PolyKinds, RankNTypes, ScopedTypeVariables, TemplateHaskell, TypeOperators, NoStarIsType -- ghc >= 8.6 && < 9.8, build-depends: base >= 4.10 && < 4.19, parsley-core >= 2 && < 3, template-haskell >= 2.14 && < 3, text >= 1.2.3 && < 2.1 hs-source-dirs: src/ghc default-language: Haskell2010 ghc-options: -Wall -Weverything -Wcompat -Wno-unticked-promoted-constructors -Wno-name-shadowing -Wno-unused-do-bind -Wno-implicit-prelude -Wno-missing-import-lists -Wno-missing-local-signatures -Wno-safe -Wno-unsafe -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-incomplete-uni-patterns -freverse-errors if impl(ghc >= 8.10) ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -Wno-unused-packages if impl(ghc >= 9.2) ghc-options: -Wno-missing-kind-signatures -Wno-implicit-lift source-repository head type: git location: https://github.com/j-mie6/ParsleyHaskell common test-common build-depends: base >=4.10 && <5, parsley, parsley-core, tasty, template-haskell build-tool-depends: cpphs:cpphs >= 1.18.8 && < 1.21 other-extensions: TemplateHaskellQuotes, TemplateHaskell hs-source-dirs: test default-language: Haskell2010 ghc-options: -pgmP cpphs -optP --cpp other-modules: TestUtils if false && impl(ghc < 9) build-depends: dump-core ghc-options: -fplugin=DumpCore test-suite parsley-test import: test-common type: exitcode-stdio-1.0 build-depends: tasty-hunit, tasty-quickcheck, th-test-utils, deepseq, containers main-is: Parsley/Tests.hs other-modules: Parsley.Alternative.Test, Parsley.Applicative.Test, Parsley.Combinator.Test, Parsley.Fold.Test, Parsley.Precedence.Test, Parsley.Register.Test, Parsley.Selective.Test, Parsley.Char.Test, Parsley.Alternative.Parsers, Parsley.Applicative.Parsers, Parsley.Combinator.Parsers, Parsley.Fold.Parsers, Parsley.Precedence.Parsers, Parsley.Register.Parsers, Parsley.Selective.Parsers, Parsley.Char.Parsers --Parsley.Javascript.Parsers, Parsley.Javascript.Shared, Parsley.Javascript.Test test-suite regression-test import: test-common type: exitcode-stdio-1.0 build-depends: tasty-hunit, tasty-quickcheck, th-test-utils, deepseq main-is: Regression/Tests.hs other-modules: Regression.Parsers common benchmark-common build-tool-depends: happy:happy build-depends: base >=4.10 && <5, parsley, gauge, deepseq, template-haskell, parsec, attoparsec, megaparsec, text, bytestring, mtl, array, containers build-tool-depends: cpphs:cpphs >= 1.18.8 && < 1.21 hs-source-dirs: benchmarks other-extensions: TemplateHaskellQuotes, TemplateHaskell other-modules: Shared.BenchmarkUtils, Shared.Attoparsec.Extended, Shared.Megaparsec.Extended, Shared.Parsec.Extended default-language: Haskell2010 ghc-options: -rtsopts -pgmP cpphs -optP --cpp -ddump-splices -ddump-to-file if false && impl(ghc < 9) build-depends: dump-core ghc-options: -fplugin=DumpCore --benchmark brainfuck-bench -- import: benchmark-common -- type: exitcode-stdio-1.0 -- other-modules: BrainfuckBench.Shared, BrainfuckBench.Parsley.Parser, BrainfuckBench.Parsec.Parser, BrainfuckBench.Megaparsec.Parser, -- BrainfuckBench.Attoparsec.Parser, BrainfuckBench.Handrolled.Parser, BrainfuckBench.Happy.Parser -- main-is: BrainfuckBench/Main.hs --benchmark javascript-bench -- import: benchmark-common -- type: exitcode-stdio-1.0 -- other-modules: JavascriptBench.Shared, JavascriptBench.Parsley.Parser, JavascriptBench.Parsec.Parser, JavascriptBench.Megaparsec.Parser, -- JavascriptBench.Attoparsec.Parser, JavascriptBench.Happy.Parser -- main-is: JavascriptBench/Main.hs --benchmark nandlang-bench -- import: benchmark-common -- type: exitcode-stdio-1.0 --cc-options: -O3 -- other-modules: NandlangBench.Parsley.Parser, NandlangBench.Parsley.Functions, NandlangBench.Bison.Parser -- c-sources: benchmarks/NandlangBench/Bison/lex.yy.c, benchmarks/NandlangBench/Bison/Nandlang.tab.c -- main-is: NandlangBench/Main.hs