Data.Attoparsec.Lazy

| attoparsec-0.8.1.0: Fast combinator parsing for bytestrings | Contents | Index
Data.Attoparsec.Lazy |
Portability | unknown
Stability | experimental
Maintainer | bos@serpentine.com
Contents
Running parsers Result conversion
Description
Simple, efficient combinator parsing for lazy `ByteString` strings, loosely based on the Parsec library. This is essentially the same code as in the Data.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 L.readFile or L.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.
Synopsis
data Result r
= Fail ByteString [String] String
| Done ByteString r
module Data.Attoparsec
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 `ByteString` is the input that had not yet been consumed when the failure occurred. The `[``String``]` is a list of contexts in which the error occurred. The `String` is the message describing the error, if any.
Done ByteString r | The parse succeeded. The `ByteString` is the input that had not yet been consumed (if any) when the parse succeeded.
Instances
Functor Result |
Show r => Show (Result r) |
module Data.Attoparsec
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
Convert a `Result` value to a `Maybe` value.
eitherResult :: Result r -> Either String r
Convert a `Result` value to an `Either` value.
Produced by Haddock version 2.7.2