mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 15:21:12 +00:00
First-class Usv type
This commit is contained in:
parent
391a4f13db
commit
81014c3790
5 changed files with 119 additions and 96 deletions
|
@ -28,40 +28,44 @@ Problem :
|
|||
[
|
||||
NumU8,
|
||||
NumI8,
|
||||
NumU16,
|
||||
NumI16,
|
||||
NumU32,
|
||||
NumI32,
|
||||
NumU64,
|
||||
NumI64,
|
||||
NumU128,
|
||||
NumI128,
|
||||
NumF64,
|
||||
NumF32,
|
||||
Usv U32,
|
||||
NumU16 Endi,
|
||||
NumI16 Endi,
|
||||
NumU32 Endi,
|
||||
NumI32 Endi,
|
||||
NumU64 Endi,
|
||||
NumI64 Endi,
|
||||
NumU128 Endi,
|
||||
NumI128 Endi,
|
||||
NumF64 Endi,
|
||||
NumF32 Endi,
|
||||
Utf8 Str,
|
||||
Utf16Le Str,
|
||||
Utf16Be Str,
|
||||
Utf16 Str Endi,
|
||||
UsvUtf8,
|
||||
UsvUtf16 Endi,
|
||||
GraphemeUtf8,
|
||||
GraphemeUtf16Le,
|
||||
GraphemeUtf16Be,
|
||||
GraphemeUtf16 Endi,
|
||||
End,
|
||||
]
|
||||
Str
|
||||
]
|
||||
|
||||
keep : Parser a, (a -> Parser b) -> Parser b
|
||||
|
||||
skip : Parser *, ({} -> Parser b) -> Parser b
|
||||
|
||||
utf8 : Parser Str
|
||||
utf16 : Parser Str
|
||||
|
||||
graphemeUtf8 : Parser Str
|
||||
graphemeUtf16Le : Parser Str
|
||||
graphemeUtf16Be : Parser Str
|
||||
|
||||
usv : Parser U32
|
||||
graphemeUtf16 : Endi -> Parser Str
|
||||
utf8 : Str -> Parser Str
|
||||
utf16 : Str, Endi -> Parser Str
|
||||
usvUtf8 : Parser U32 # UTF-8 defines endianness
|
||||
usvUtf16 : Endi -> Parser U32
|
||||
|
||||
u8 : Parser U8
|
||||
i8 : Parser I8
|
||||
u16 : Endi -> Parser U16
|
||||
i16 : Endi -> Parser I16
|
||||
u32 : Endi -> Parser U32
|
||||
i32 : Endi -> Parser I32
|
||||
u64 : Endi -> Parser U64
|
||||
i64 : Endi -> Parser I64
|
||||
u128 : Endi -> Parser U128
|
||||
i128 : Endi -> Parser I128
|
||||
|
|
|
@ -24,7 +24,7 @@ Parser a :
|
|||
@Parser (Str -> Result { answer : a, rest : Str } RawProblem),
|
||||
]
|
||||
|
||||
RawProblem :
|
||||
Problem :
|
||||
[
|
||||
Expected
|
||||
[
|
||||
|
@ -40,12 +40,14 @@ RawProblem :
|
|||
NumI128,
|
||||
NumF64,
|
||||
NumF32,
|
||||
End
|
||||
ExactStr Str,
|
||||
Grapheme,
|
||||
End,
|
||||
]
|
||||
Str
|
||||
]
|
||||
|
||||
keep : Parser a, (a -> Parser b) -> Parser b
|
||||
|
||||
skip : Parser *, ({} -> Parser b) -> Parser b
|
||||
|
||||
symbol : Str -> Parser {}
|
Loading…
Add table
Add a link
Reference in a new issue