elm/parser
Last updated
Was this helpful?
Last updated
Was this helpful?
Regular expressions are quite confusing and difficult to use. This library provides a coherent alternative that handles more cases and produces clearer code.
(Readme.md from the )
This is a summary of the talk by Tereza Sokol.
Function
Description
Runs the Parser on a String
Parser for Int
Parser for Float
Trys different Parsers. Uses the first that succeeds.
Once the parser matches the first element, there is no going back!
Applys the first parser and if successful applies the second. Fails if one of the parsers fails.
Function
Description
Starts the Pipeline. a -> Parser a
is the constructor.
For a record Point
use the structur called Point .
Keeps an element.
Eats a character and throws it away.
Represents whitespace
Function
Description
Looks for zero or more characters that succeeds the check. Stops as soon as the check fails.
Reads one symbols.
Returnes the string that got chomped
Function
Description
Takes an initial state and a parser step and returns a parser.
A parser step just specifies if it should continue looping or stop.
Function
Description
Returns the error message and ends the parsing. The argument is the actuall message.
: Parser a -> String -> Result (List DeadEnd) a
: Parser Int
: Parser Float
: List (Parser a) -> Parser a
: (a -> Parser b) -> Parser a -> Parser b
This subject is explained at .
: a -> Parser a
: Parser (a -> b) -> Parser a -> Parser b
: Parser keep -> Parser ignore -> Parser keep
: Parser ()
This subject is explained at .
: (Char -> Bool) -> Parser ()
: (Char -> Bool) -> Parser ()
: Parser a -> Parser String
This subject is explained at .
: state -> (state -> Parser ( state a)) -> Parser a
type state a = Loop state | Done a
This subject is explained at .
: String -> Parser a
🎥Video: by Tereza Sokol
📄Thread: