summaryrefslogtreecommitdiff
path: root/docs/type_system/index.md
blob: 9c8d477c82ed1f6907b7616c66ec0622f1ae07b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Templates

---

A template is an incomplete type

```text
Template[Field; ...]
```

If a field in a template is not filed, one of these are required:

##### Any

Denotes a field in a template that has not resolved

##### Void

Denotes that a field that does not resolve to anything

## Value Templates

* #### [Enum](./enum.md)

* #### [Flag](./flag.md)

* #### [Int](./int.md)

* #### [Float](./float.md)

## Transient Templates

* #### [Option](./option.md)

* #### [Result](./result.md)

* #### [Lock](./lock.md)

## Container Templates

* #### [Tuple](./tuple.md)

* #### [Table](./table.md)

* #### [Buffer](./buffer.md)

* #### [Array](./array.md)

* #### [Vector](./vector.md)

* #### [Map](./map.md)

* #### [Set](./set.md)

* #### Queue

* #### Error

* #### Union

* #### Shared

## Function Templates

* #### Var

* #### Fn

* #### Iterator

* #### Closure

* #### Task

* #### Regex

## AST Templates

* #### Token

* #### Value

* #### Clause

* #### Name

* #### Type

* #### Symbol

* #### Op

* #### List

* #### Define

* #### Action