chart-svg
Safe HaskellNone
LanguageGHC2024

Chart.Parse

Description

Simple parser implementation to replace flatparse

Synopsis

Parser type and running

data Parser e a Source #

Instances

Instances details
Alternative (Parser e) Source # 
Instance details

Defined in Chart.Parse

Methods

empty :: Parser e a #

(<|>) :: Parser e a -> Parser e a -> Parser e a #

some :: Parser e a -> Parser e [a] #

many :: Parser e a -> Parser e [a] #

Applicative (Parser e) Source # 
Instance details

Defined in Chart.Parse

Methods

pure :: a -> Parser e a #

(<*>) :: Parser e (a -> b) -> Parser e a -> Parser e b #

liftA2 :: (a -> b -> c) -> Parser e a -> Parser e b -> Parser e c #

(*>) :: Parser e a -> Parser e b -> Parser e b #

(<*) :: Parser e a -> Parser e b -> Parser e a #

Functor (Parser e) Source # 
Instance details

Defined in Chart.Parse

Methods

fmap :: (a -> b) -> Parser e a -> Parser e b #

(<$) :: a -> Parser e b -> Parser e a #

Monad (Parser e) Source # 
Instance details

Defined in Chart.Parse

Methods

(>>=) :: Parser e a -> (a -> Parser e b) -> Parser e b #

(>>) :: Parser e a -> Parser e b -> Parser e b #

return :: a -> Parser e a #

MonadPlus (Parser e) Source # 
Instance details

Defined in Chart.Parse

Methods

mzero :: Parser e a #

mplus :: Parser e a -> Parser e a -> Parser e a #

data Result e a Source #

Constructors

OK a ByteString 
Fail 
Err e 

Instances

Instances details
Functor (Result e) Source # 
Instance details

Defined in Chart.Parse

Methods

fmap :: (a -> b) -> Result e a -> Result e b #

(<$) :: a -> Result e b -> Result e a #

(Show a, Show e) => Show (Result e a) Source # 
Instance details

Defined in Chart.Parse

Methods

showsPrec :: Int -> Result e a -> ShowS #

show :: Result e a -> String #

showList :: [Result e a] -> ShowS #

Primitives

eof :: Parser e () Source #

Combinators

empty :: Alternative f => f a #

The identity of <|>

empty <|> a     == a
a     <|> empty == a

(<|>) :: Alternative f => f a -> f a -> f a infixl 3 #

An associative binary operation

many :: Parser e a -> Parser e [a] Source #

some :: Parser e a -> Parser e [a] Source #

skipMany :: Parser e a -> Parser e () Source #

chainr :: (a -> b -> b) -> Parser e a -> Parser e b -> Parser e b Source #

withOption :: Parser e a -> (a -> Parser e b) -> Parser e b -> Parser e b Source #

String matching

char :: Char -> Parser e () Source #

Utilities

isDigit :: Char -> Bool #

Selects ASCII digits, i.e. '0'..'9'.