packages feed

megaparsec-8.0.0: megaparsec.cabal

name:                 megaparsec
version:              8.0.0
cabal-version:        1.18
tested-with:          GHC==8.4.4, GHC==8.6.5, GHC==8.8.1
license:              BSD2
license-file:         LICENSE.md
author:               Megaparsec contributors,
                      Paolo Martini <paolo@nemail.it>,
                      Daan Leijen <daan@microsoft.com>

maintainer:           Mark Karpov <markkarpov92@gmail.com>
homepage:             https://github.com/mrkkrp/megaparsec
bug-reports:          https://github.com/mrkkrp/megaparsec/issues
category:             Parsing
synopsis:             Monadic parser combinators
build-type:           Simple
description:

  This is an industrial-strength monadic parser combinator library.
  Megaparsec is a feature-rich package that tries to find a nice balance
  between speed, flexibility, and quality of parse errors.

extra-doc-files:      CHANGELOG.md
                    , README.md

source-repository head
  type:               git
  location:           https://github.com/mrkkrp/megaparsec.git

flag dev
  description:        Turn on development settings.
  manual:             True
  default:            False

library
  build-depends:      base         >= 4.11  && < 5.0
                    , bytestring   >= 0.2   && < 0.11
                    , case-insensitive >= 1.2 && < 1.3
                    , containers   >= 0.5   && < 0.7
                    , deepseq      >= 1.3   && < 1.5
                    , mtl          >= 2.2.2 && < 3.0
                    , parser-combinators >= 1.0 && < 2.0
                    , scientific   >= 0.3.1 && < 0.4
                    , text         >= 0.2   && < 1.3
                    , transformers >= 0.4   && < 0.6
  exposed-modules:    Text.Megaparsec
                    , Text.Megaparsec.Byte
                    , Text.Megaparsec.Byte.Lexer
                    , Text.Megaparsec.Char
                    , Text.Megaparsec.Char.Lexer
                    , Text.Megaparsec.Debug
                    , Text.Megaparsec.Error
                    , Text.Megaparsec.Error.Builder
                    , Text.Megaparsec.Internal
                    , Text.Megaparsec.Pos
                    , Text.Megaparsec.Stream
  other-modules:      Text.Megaparsec.Class
                    , Text.Megaparsec.Common
                    , Text.Megaparsec.Lexer
                    , Text.Megaparsec.State
  if flag(dev)
    ghc-options:      -O0 -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  if flag(dev)
    ghc-options:      -Wcompat
                      -Wincomplete-record-updates
                      -Wincomplete-uni-patterns
                      -Wnoncanonical-monad-instances
  default-language:   Haskell2010

benchmark bench-speed
  main-is:            Main.hs
  hs-source-dirs:     bench/speed
  type:               exitcode-stdio-1.0
  build-depends:      base         >= 4.11  && < 5.0
                    , containers   >= 0.5  && < 0.7
                    , criterion    >= 0.6.2.1 && < 1.6
                    , deepseq      >= 1.3  && < 1.5
                    , megaparsec
                    , text         >= 0.2  && < 1.3
  if flag(dev)
    ghc-options:      -O2 -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010

benchmark bench-memory
  main-is:            Main.hs
  hs-source-dirs:     bench/memory
  type:               exitcode-stdio-1.0
  build-depends:      base         >= 4.11  && < 5.0
                    , containers   >= 0.5  && < 0.7
                    , deepseq      >= 1.3  && < 1.5
                    , megaparsec
                    , text         >= 0.2  && < 1.3
                    , weigh        >= 0.0.4
  if flag(dev)
    ghc-options:      -O2 -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:   Haskell2010