paripari-0.6.0.0: Parser combinators with fast-path and slower fallback for error reporting

Safe HaskellNone
LanguageHaskell2010

Text.PariPari.Internal.Tracer

Synopsis

Documentation

newtype Tracer k a Source #

Parser which prints trace messages, when backtracking occurs.

Constructors

Tracer 

Fields

Instances
CharChunk k => CharParser k (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

char :: Char -> Tracer k Char Source #

scan :: (Char -> Maybe a) -> Tracer k a Source #

asciiByte :: Word8 -> Tracer k Word8 Source #

asciiScan :: (Word8 -> Maybe a) -> Tracer k a Source #

CharChunk k => ChunkParser k (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Chunk k => Monad (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

(>>=) :: Tracer k a -> (a -> Tracer k b) -> Tracer k b #

(>>) :: Tracer k a -> Tracer k b -> Tracer k b #

return :: a -> Tracer k a #

fail :: String -> Tracer k a #

Chunk k => Functor (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

fmap :: (a -> b) -> Tracer k a -> Tracer k b #

(<$) :: a -> Tracer k b -> Tracer k a #

Chunk k => MonadFail (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

fail :: String -> Tracer k a #

Chunk k => Applicative (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

pure :: a -> Tracer k a #

(<*>) :: Tracer k (a -> b) -> Tracer k a -> Tracer k b #

liftA2 :: (a -> b -> c) -> Tracer k a -> Tracer k b -> Tracer k c #

(*>) :: Tracer k a -> Tracer k b -> Tracer k b #

(<*) :: Tracer k a -> Tracer k b -> Tracer k a #

Chunk k => Alternative (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

empty :: Tracer k a #

(<|>) :: Tracer k a -> Tracer k a -> Tracer k a #

some :: Tracer k a -> Tracer k [a] #

many :: Tracer k a -> Tracer k [a] #

Chunk k => MonadPlus (Tracer k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

mzero :: Tracer k a #

mplus :: Tracer k a -> Tracer k a -> Tracer k a #

CharChunk k => IsString (Tracer k k) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

fromString :: String -> Tracer k k #

(Chunk k, Semigroup a) => Semigroup (Tracer k a) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

(<>) :: Tracer k a -> Tracer k a -> Tracer k a #

sconcat :: NonEmpty (Tracer k a) -> Tracer k a #

stimes :: Integral b => b -> Tracer k a -> Tracer k a #

(Chunk k, Monoid a) => Monoid (Tracer k a) Source # 
Instance details

Defined in Text.PariPari.Internal.Tracer

Methods

mempty :: Tracer k a #

mappend :: Tracer k a -> Tracer k a -> Tracer k a #

mconcat :: [Tracer k a] -> Tracer k a #

runTracer :: Chunk k => Tracer k a -> FilePath -> k -> (Maybe a, [Report]) Source #

Run Tracer on the given chunk, returning the result if successful and reports from error recoveries. In the case of an error, Nothing is returned and the Report list is non-empty.