| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Dhall.Parser
Description
This module contains Dhall's parsing logic
- exprFromText :: Delta -> Text -> Either ParseError (Expr Src Path)
- exprAndHeaderFromText :: Delta -> Text -> Either ParseError (Text, Expr Src Path)
- expr :: Parser (Expr Src Path)
- exprA :: Parser a -> Parser (Expr Src a)
- data Src = Src Delta Delta ByteString
- newtype ParseError = ParseError Doc
- newtype Parser a = Parser {}
Utilities
exprFromText :: Delta -> Text -> Either ParseError (Expr Src Path) Source #
Parse an expression from Text containing a Dhall program
exprAndHeaderFromText :: Delta -> Text -> Either ParseError (Text, Expr Src Path) Source #
Like exprFromText but also returns the leading comments and whitespace
(i.e. header) up to the last newline before the code begins
In other words, if you have a Dhall file of the form:
-- Comment 1 2
Then this will preserve Comment 1, but not Comment 2
This is used by dhall-format to preserve leading comments and whitespace
Parsers
exprA :: Parser a -> Parser (Expr Src a) Source #
Parser for a top-level Dhall expression. The expression is parameterized over any parseable type, allowing the language to be extended as needed.
Types
Source code extract
Constructors
| Src Delta Delta ByteString |
A Parser that is almost identical to
Text.Trifecta. except treating Haskell-style
comments as whitespaceParser
Instances
| Monad Parser Source # | |
| Functor Parser Source # | |
| Applicative Parser Source # | |
| Alternative Parser Source # | |
| MonadPlus Parser Source # | |
| TokenParsing Parser Source # | |
| CharParsing Parser Source # | |
| Parsing Parser Source # | |
| DeltaParsing Parser Source # | |
| MarkParsing Delta Parser Source # | |
| IsString a => IsString (Parser a) Source # | |
| Semigroup a => Semigroup (Parser a) Source # | |
| (Semigroup a, Monoid a) => Monoid (Parser a) Source # | |