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.0 x-revision: 3 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.6, build-depends: base >= 4.10 && < 4.18, 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 source-repository head type: git location: https://github.com/j-mie6/ParsleyHaskell common test-common build-depends: base >=4.10 && <5, parsley, parsley-core, parsley-garnish, tasty, template-haskell other-extensions: TemplateHaskellQuotes, TemplateHaskell hs-source-dirs: test default-language: Haskell2010 ghc-options: -fplugin=Parsley.OverloadedQuotesPlugin other-modules: TestUtils test-suite parsley-test import: test-common type: exitcode-stdio-1.0 build-depends: tasty-hunit, tasty-quickcheck, th-test-utils, deepseq 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 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, parsley-garnish, criterion >=1.5 && <1.6, deepseq, template-haskell, parsec, attoparsec, megaparsec, text, bytestring, mtl, array, containers 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 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