1///|
2pub let Parser[Char]
digit : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = (f : (Char) -> Bool, label~ : String) -> Parser[Char]
satisfy((Char) -> Bool
Char::is_ascii_digit, String
label="digit")
3
4///|
5pub let Parser[Char]
space : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = (f : (Char) -> Bool, label~ : String) -> Parser[Char]
satisfy((Char) -> Bool
Char::is_ascii_whitespace, String
label="space")
6
7///|
8pub let Parser[Char]
alphabetic : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = (f : (Char) -> Bool, label~ : String) -> Parser[Char]
satisfy(
9 (Char) -> Bool
Checks if the value is an ASCII alphabetic character:
- U+0041 'A' ..= U+005A 'Z'
- U+0061 'a' ..= U+007A 'z'
Char::is_ascii_alphabetic,
10 String
label="alphabetic",
11)
12
13///|
14pub let Parser[Char]
any : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = (f : (Char) -> Bool, label~ : String) -> Parser[Char]
satisfy(_ => true, String
label="any character")
15
16///|
17pub let Parser[Char]
space1 : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = Parser[Char]
space.(x : Parser[Char], f : Parser[(Char, Char) -> Char]) -> Parser[Char]
foldl1((x : (Char, Char) -> Char) -> Parser[(Char, Char) -> Char]
pure((_, Char
y) => Char
y)).(x : Parser[Char], msg : String) -> Parser[Char]
label("space1")
18
19///|
20pub let Parser[Char]
spaces : type Parser[A] (Input) -> (A, Input) raise ParseError
Parser[Char
Char] = (Parser[Char]
space1 (x : Parser[Char], y : Parser[Char]) -> Parser[Char]
| (x : Char) -> Parser[Char]
pure(' ')).(x : Parser[Char], msg : String) -> Parser[Char]
label("spaces")
21