Portability | unknown |
---|---|
Stability | experimental |
Maintainer | bos@serpentine.com |
Safe Haskell | None |
Simple, efficient combinator parsing for lazy ByteString
strings, loosely based on the Parsec library.
This is essentially the same code as in the Attoparsec
module, only with a parse
function that can consume a lazy
ByteString
incrementally, and a Result
type that does not allow
more input to be fed in. Think of this as suitable for use with a
lazily read file, e.g. via readFile
or hGetContents
.
Behind the scenes, strict ByteString
values are still used
internally to store parser input and manipulate it efficiently.
High-performance parsers such as string
still expect strict
ByteString
parameters.
- data Result r
- = Fail ByteString [String] String
- | Done ByteString r
- module Data.Attoparsec.ByteString
- parse :: Parser a -> ByteString -> Result a
- parseTest :: Show a => Parser a -> ByteString -> IO ()
- maybeResult :: Result r -> Maybe r
- eitherResult :: Result r -> Either String r
Documentation
The result of a parse.
Fail ByteString [String] String | The parse failed. The |
Done ByteString r | The parse succeeded. The |
module Data.Attoparsec.ByteString
Running parsers
parse :: Parser a -> ByteString -> Result aSource
Run a parser and return its result.
parseTest :: Show a => Parser a -> ByteString -> IO ()Source
Run a parser and print its result to standard output.