parsley-1.0.2.0: parsley.cabal
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: 1.0.2.0
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 <j.willis19@imperial.ac.uk>
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.Defunctionalized,
Parsley.Selective,
Parsley.Register,
Parsley.Combinator,
Parsley.Fold,
Parsley.InputExtras,
Parsley.Precedence
other-modules: Parsley.Debug
Parsley.ParserOps
default-extensions: BangPatterns,
DataKinds,
GADTs,
FlexibleContexts,
FlexibleInstances,
KindSignatures,
PolyKinds,
RankNTypes,
ScopedTypeVariables,
TemplateHaskell,
TypeOperators,
NoStarIsType
-- ghc >= 8.6 && < 9.2,
build-depends: base >= 4.10 && < 4.16,
parsley-core >= 1.8 && < 3,
template-haskell >= 2.14 && < 3,
text >= 1.2.3 && < 1.3,
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.Alternative.Parsers, Parsley.Applicative.Parsers, Parsley.Combinator.Parsers, Parsley.Fold.Parsers,
Parsley.Precedence.Parsers, Parsley.Register.Parsers, Parsley.Selective.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