conduit-extra-1.3.6: Batteries included conduit: adapters for common libraries.
Copyright 2011 Michael Snoyman 2010 John Millikin
License MIT
Safe Haskell None
Language Haskell2010

Data.Conduit.Attoparsec

Description

Consume attoparsec parsers via conduit.

This code was taken from attoparsec-enumerator and adapted for conduits.

Synopsis

Sink

sinkParser :: ( AttoparsecInput a, MonadThrow m) => Parser a b -> ConduitT a o m b Source #

Convert an Attoparsec Parser into a Sink . The parser will be streamed bytes until it returns Done or Fail .

If parsing fails, a ParseError will be thrown with throwM .

Since 0.5.0

sinkParserEither :: ( AttoparsecInput a, Monad m) => Parser a b -> ConduitT a o m ( Either ParseError b) Source #

Same as sinkParser , but we return an Either type instead of raising an exception.

Since 1.1.5

Conduit

conduitParser :: ( AttoparsecInput a, MonadThrow m) => Parser a b -> ConduitT a ( PositionRange , b) m () Source #

Consume a stream of parsed tokens, returning both the token and the position it appears at. This function will raise a ParseError on bad input.

Since 0.5.0

conduitParserEither :: ( Monad m, AttoparsecInput a) => Parser a b -> ConduitT a ( Either ParseError ( PositionRange , b)) m () Source #

Same as conduitParser , but we return an Either type instead of raising an exception.

Types

Classes