Update type syntax
parent
621664a23b
commit
a14471651b
@ -1,40 +1,40 @@
|
|||||||
|
|
||||||
type Food = enum {
|
type Food = (
|
||||||
Apple Num
|
| Apple Num
|
||||||
Banana Num
|
| Banana Num
|
||||||
Cereal Num
|
| Cereal Num
|
||||||
Milk #(String Num)
|
| Milk #(String, Num)
|
||||||
}
|
)
|
||||||
|
|
||||||
type Utils = enum {
|
type Utils = (
|
||||||
Paper Num
|
| Paper Num
|
||||||
Detergent Num
|
| Detergent Num
|
||||||
Pencils Num
|
| Pencils Num
|
||||||
}
|
)
|
||||||
|
|
||||||
type Packaging = enum {
|
type Packaging = (
|
||||||
Bag
|
| Bag
|
||||||
PlasticBag
|
| PlasticBag
|
||||||
}
|
)
|
||||||
|
|
||||||
type ShoppingList = rec {
|
type ShoppingList = {
|
||||||
food: Food
|
food: Food
|
||||||
utils: Utils
|
utils: Utils
|
||||||
packaging: Packaging
|
packaging: Packaging
|
||||||
}
|
}
|
||||||
|
|
||||||
type NestedHell = enum {
|
type NestedHell a = (
|
||||||
NoNesting Num
|
| NoNesting Num
|
||||||
Nesting enum {
|
| Nesting (
|
||||||
FirstLevel enum {
|
| FirstLevel (
|
||||||
SecondLevel enum {
|
| SecondLevel (
|
||||||
Third Lvl<a>
|
| Third Lvl
|
||||||
}
|
)
|
||||||
Second rec {
|
| Second {
|
||||||
first: Num
|
first: Num
|
||||||
second: Num
|
second: Num
|
||||||
}
|
}
|
||||||
}
|
)
|
||||||
StillFirst Num<a>
|
| StillFirst Num a
|
||||||
}
|
)
|
||||||
}
|
)
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
Aliases Test
|
||||||
|
|
||||||
|
======
|
||||||
|
|
||||||
|
type MyNum = Num
|
||||||
|
|
||||||
|
======
|
||||||
|
|
||||||
|
(file
|
||||||
|
(statement
|
||||||
|
(type_decl
|
||||||
|
(type_ident
|
||||||
|
(type_name: "MyNum")
|
||||||
|
)
|
||||||
|
(type_expr
|
||||||
|
(type_ident
|
||||||
|
(type_name: "Num")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(EOI: "")
|
||||||
|
)
|
@ -0,0 +1,32 @@
|
|||||||
|
Tuples Test
|
||||||
|
|
||||||
|
======
|
||||||
|
|
||||||
|
type MyTuple = #(Str, Int)
|
||||||
|
|
||||||
|
======
|
||||||
|
|
||||||
|
(file
|
||||||
|
(statement
|
||||||
|
(type_decl
|
||||||
|
(type_ident
|
||||||
|
(type_name: "MyTuple")
|
||||||
|
)
|
||||||
|
(type_expr
|
||||||
|
(tuple
|
||||||
|
(type_expr
|
||||||
|
(type_ident
|
||||||
|
(type_name: "Str")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(type_expr
|
||||||
|
(type_ident
|
||||||
|
(type_name: "Int")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(EOI: "")
|
||||||
|
)
|
Loading…
Reference in New Issue