attoparsec-text-0.8.5.3: (deprecated)

Portabilityunknown
Stabilityexperimental
Maintainer[email protected]

Data.Attoparsec.Text.Lazy

Contents

Description

Simple, efficient combinator parsing for lazy Text 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 Text 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 Text values are still used internally to store parser input and manipulate it efficiently. High-performance parsers such as string still expect strict Text parameters.

Synopsis

Documentation

data Result r Source

The result of a parse.

Constructors

Fail Text [String] String

The parse failed. The Text 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 Text r

The parse succeeded. The Text is the input that had not yet been consumed (if any) when the parse succeeded.

Instances

Running parsers

parse :: Parser a -> Text -> Result aSource

Run a parser and return its result.

parseTest :: Show a => Parser a -> Text -> 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.