attoparsec-0.8.2.0: Fast combinator parsing for bytestringsSource codeContentsIndex
Data.Attoparsec.Lazy
Portabilityunknown
Stabilityexperimental
Maintainerbos@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 Source
The result of a parse.
Constructors
Fail ByteString [String] StringThe 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 rThe parse succeeded. The ByteString is the input that had not yet been consumed (if any) when the parse succeeded.
show/hide Instances
module Data.Attoparsec
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.
Result conversion
maybeResult :: Result r -> Maybe rSource
Convert a Result value to a Maybe value.
eitherResult :: Result r -> Either String rSource
Convert a Result value to an Either value.
Produced by Haddock version 2.6.1