summaryrefslogtreecommitdiff
path: root/docs/type_system/var.md
blob: 6bf114df7439a3834ee0b5445ed0cfb4c7d8229b (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
# Var

---

```text
Var[[SYMBOL | SCOPE | ARG | LOCAL | LOOP | IF | MATCH | MUTATE] TYPE; LEFT_VAR; RIGHT_VAR; IDENTIFIER]
```

## Type Body Object Definition

```c
typedef struct {
    kpl_type *type, *tree_left, *tree_right;
    kpl_identifier identifier;
} kpl_type_body_var;
```

## Function Vars

Each var in a function belongs to a scope within that function

```text
var -> list -> function
```