elm/parser
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 package)
This is a summary of the talk Demystifying Parsers by Tereza Sokol.
Basics
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.
Pipeline
This subject is explained at 4:48 in the Video.
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
Strings
This subject is explained at 7:20 in the Video.
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
Loops
This subject is explained at 14:10 in the Video.
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.
Error messages
This subject is explained at 17:04 in the Video.
Function
Description
Returns the error message and ends the parsing. The argument is the actuall message.
Further Reading
🎥Video: Demystifying Parsers by Tereza Sokol
📄Thread: Elm parser question
Last updated