| Portability | unknown |
|---|---|
| Stability | experimental |
| Maintainer | bos@serpentine.com |
| Safe Haskell | None |
Data.Attoparsec.ByteString.Lazy
Contents
Description
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
data Result r
The result of a parse.
Constructors
| 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 a
Run a parser and return its result.
parseTest :: Show a => Parser a -> ByteString -> IO ()
Run a parser and print its result to standard output.
Result conversion
maybeResult :: Result r -> Maybe r