paripari-0.5.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 either an error Report or, if successful, the result.