cabal-version: 2.2 name: parsnip version: 0 synopsis: A fast, minimal parser description: A fast, minimal parser. . @parsnip@ parses null-terminated input strings with an absolute minimum of internal state. It copies the input to a c string and works its way through hand-over-hand with just an @Addr#@ as the internal state. . It uses @reflection@-like tricks to lift the input 'ByteString' into a constraint that is then passed to just the combinators that need access to it to compute position, snip out slices of the original, or ask the number of bytes remaining, but none of the monadic combinators nor simple 'satisfy' or 'eof' predicates need access to this information. . Because of the null-termination, we can't assume that we can handle binary inputs, but this works well for text-based source languages. homepage: https://github.com/ekmett/codex/tree/master/parsnip#readme license: BSD-2-Clause OR Apache-2.0 license-file: LICENSE.md author: Edward Kmett maintainer: Edward Kmett copyright: Copyright (c) 2019-2021 Edward Kmett stability: experimental category: Graphics build-type: Simple extra-doc-files: README.md, CHANGELOG.md extra-source-files: cbits/*.h cbits/*.c source-repository head type: git location: https://github.com/ekmett/codex subdir: parsnip common base default-language: Haskell2010 ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wredundant-constraints -Widentities -Wmissing-export-lists include-dirs: cbits c-sources: cbits/parsnip.c build-depends: attoparsec, base >= 4.15 && < 5, bytestring, containers, data-default, ghc-prim, primitive library import: base hs-source-dirs: src exposed-modules: Text.Parsnip Text.Parsnip.Char8 Text.Parsnip.Location Text.Parsnip.Parser Text.Parsnip.Word8 Text.Parsnip.Internal.Mark Text.Parsnip.Internal.Parser Text.Parsnip.Internal.Private Text.Parsnip.Internal.Simple