Safe Haskell | None |
---|
- char :: StringSyntax delta => Char -> delta ()
- char' :: StringSyntax delta => Char -> delta Char
- string :: StringSyntax delta => String -> delta ()
- comma :: StringSyntax delta => delta ()
- dot :: StringSyntax delta => delta ()
- many :: Syntax delta => delta alpha -> delta [alpha]
- many1 :: Syntax delta => delta alpha -> delta [alpha]
- sepBy :: Syntax delta => delta alpha -> delta () -> delta [alpha]
- chainl1 :: Syntax delta => delta alpha -> delta beta -> Iso (alpha, (beta, alpha)) alpha -> delta alpha
- (*>) :: Syntax delta => delta () -> delta alpha -> delta alpha
- (<*) :: Syntax delta => delta alpha -> delta () -> delta alpha
- between :: Syntax delta => delta () -> delta () -> delta alpha -> delta alpha
- (<+>) :: Syntax delta => delta alpha -> delta beta -> delta (Either alpha beta)
- optional :: Syntax delta => delta alpha -> delta (Maybe alpha)
- optionalBool :: Syntax delta => delta () -> delta Bool
- optionalWithDefault :: (Eq alpha, Syntax delta) => alpha -> delta alpha -> delta alpha
- skipSpace :: StringSyntax delta => delta ()
- sepSpace :: StringSyntax delta => delta ()
- optSpace :: StringSyntax delta => delta ()
- xmlEatWhiteSpace :: XmlSyntax d => d ()
- xmlElem :: XmlSyntax x => Name -> x a -> x a
- xmlAttr :: XmlSyntax x => Name -> Iso Text a -> x a
- xmlFixedAttr :: XmlSyntax x => Name -> Text -> x ()
- xmlText :: XmlSyntax d => d Text
- xmlString :: XmlSyntax d => d String
Lexemes
char :: StringSyntax delta => Char -> delta ()Source
char' :: StringSyntax delta => Char -> delta CharSource
string :: StringSyntax delta => String -> delta ()Source
string
parses/prints a fixed text and consumes/produces a unit value.
comma :: StringSyntax delta => delta ()Source
dot :: StringSyntax delta => delta ()Source
Repetition
chainl1 :: Syntax delta => delta alpha -> delta beta -> Iso (alpha, (beta, alpha)) alpha -> delta alphaSource
The chainl1
combinator is used to parse a
left-associative chain of infix operators.
Sequencing
(*>) :: Syntax delta => delta () -> delta alpha -> delta alphaSource
This variant of <*>
ignores its left result.
In contrast to its counterpart derived from the Applicative
class, the ignored
parts have type `delta ()` rather than `delta beta` because otherwise information relevant
for pretty-printing would be lost.
(<*) :: Syntax delta => delta alpha -> delta () -> delta alphaSource
This variant of <*>
ignores its right result.
In contrast to its counterpart derived from the Applicative
class, the ignored
parts have type `delta ()` rather than `delta beta` because otherwise information relevant
for pretty-printing would be lost.
Alternation
optionalBool :: Syntax delta => delta () -> delta BoolSource
optionalWithDefault :: (Eq alpha, Syntax delta) => alpha -> delta alpha -> delta alphaSource
Whitespace
skipSpace :: StringSyntax delta => delta ()Source
skipSpace
marks a position where whitespace is allowed to
occur. It accepts arbitrary space while parsing, and produces
no space while printing.
sepSpace :: StringSyntax delta => delta ()Source
sepSpace
marks a position where whitespace is required to
occur. It requires one or more space characters while parsing,
and produces a single space character while printing.
optSpace :: StringSyntax delta => delta ()Source
optSpace
marks a position where whitespace is desired to occur.
It accepts arbitrary space while parsing, and produces a
single space character while printing.
XML
xmlEatWhiteSpace :: XmlSyntax d => d ()Source
xmlFixedAttr :: XmlSyntax x => Name -> Text -> x ()Source