summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/type_system/action.md3
-rw-r--r--docs/type_system/clause.md3
-rw-r--r--docs/type_system/define.md3
-rw-r--r--docs/type_system/error.md7
-rw-r--r--docs/type_system/fn.md17
-rw-r--r--docs/type_system/index.md40
-rw-r--r--docs/type_system/list.md3
-rw-r--r--docs/type_system/name.md9
-rw-r--r--docs/type_system/namespace.md3
-rw-r--r--docs/type_system/op.md7
-rw-r--r--docs/type_system/queue.md7
-rw-r--r--docs/type_system/regex.md3
-rw-r--r--docs/type_system/shared.md7
-rw-r--r--docs/type_system/state.md15
-rw-r--r--docs/type_system/symbol.md7
-rw-r--r--docs/type_system/token.md3
-rw-r--r--docs/type_system/union.md7
-rw-r--r--docs/type_system/value.md3
-rw-r--r--docs/type_system/var.md9
-rw-r--r--mkdocs.yml19
20 files changed, 153 insertions, 22 deletions
diff --git a/docs/type_system/action.md b/docs/type_system/action.md
new file mode 100644
index 0000000..ef049e5
--- /dev/null
+++ b/docs/type_system/action.md
@@ -0,0 +1,3 @@
+# Action
+
+---
diff --git a/docs/type_system/clause.md b/docs/type_system/clause.md
new file mode 100644
index 0000000..4ae8894
--- /dev/null
+++ b/docs/type_system/clause.md
@@ -0,0 +1,3 @@
+# Clause
+
+---
diff --git a/docs/type_system/define.md b/docs/type_system/define.md
new file mode 100644
index 0000000..e4e3baf
--- /dev/null
+++ b/docs/type_system/define.md
@@ -0,0 +1,3 @@
+# Define
+
+---
diff --git a/docs/type_system/error.md b/docs/type_system/error.md
new file mode 100644
index 0000000..c9e7dc6
--- /dev/null
+++ b/docs/type_system/error.md
@@ -0,0 +1,7 @@
+# Error
+
+---
+
+```text
+Error
+```
diff --git a/docs/type_system/fn.md b/docs/type_system/fn.md
new file mode 100644
index 0000000..5bdce1c
--- /dev/null
+++ b/docs/type_system/fn.md
@@ -0,0 +1,17 @@
+# Fn
+
+---
+
+## Definition
+
+```text
+Fn[RETURN_TYPE; LIST(NAME[VAR...]; ...) BODY; CODE]
+```
+
+## Usage
+
+```text
+Fn[TYPE; name; ...]
+
+Fn[name; ...] // Resolves to Fn[Any; ...]
+```
diff --git a/docs/type_system/index.md b/docs/type_system/index.md
index 9c8d477..8ef6b83 100644
--- a/docs/type_system/index.md
+++ b/docs/type_system/index.md
@@ -52,46 +52,42 @@ Denotes that a field that does not resolve to anything
* #### [Set](./set.md)
-* #### Queue
+* #### [Queue](./queue.md)
-* #### Error
+* #### [Union](./union.md)
-* #### Union
+* #### [Shared](./shared.md)
-* #### Shared
+* #### [Error](./error.md)
## Function Templates
-* #### Var
+* #### [Var](./var.md)
-* #### Fn
+* #### [Fn](./fn.md)
-* #### Iterator
+* #### [State](./state.md)
-* #### Closure
-
-* #### Task
-
-* #### Regex
+* #### [Regex](./regex.md)
## AST Templates
-* #### Token
+* #### [Namespace](./namespace.md)
-* #### Value
+* #### [Token](./token.md)
-* #### Clause
+* #### [Value](./value.md)
-* #### Name
+* #### [Clause](./clause.md)
-* #### Type
+* #### [Name](./name.md)
-* #### Symbol
+* #### [Define](./define.md)
-* #### Op
+* #### [Symbol](./symbol.md)
-* #### List
+* #### [Op](./op.md)
-* #### Define
+* #### [List](./list.md)
-* #### Action
+* #### [Action](./action.md)
diff --git a/docs/type_system/list.md b/docs/type_system/list.md
new file mode 100644
index 0000000..19e4d19
--- /dev/null
+++ b/docs/type_system/list.md
@@ -0,0 +1,3 @@
+# List
+
+---
diff --git a/docs/type_system/name.md b/docs/type_system/name.md
new file mode 100644
index 0000000..f137380
--- /dev/null
+++ b/docs/type_system/name.md
@@ -0,0 +1,9 @@
+# Name
+
+---
+
+```text
+Name_class : Enum[.unknown; .data; .alias; .unique]
+
+Name[TYPE; Name_class; IDENTIFIER; SCOPE]
+```
diff --git a/docs/type_system/namespace.md b/docs/type_system/namespace.md
new file mode 100644
index 0000000..021173d
--- /dev/null
+++ b/docs/type_system/namespace.md
@@ -0,0 +1,3 @@
+# Namespace
+
+---
diff --git a/docs/type_system/op.md b/docs/type_system/op.md
new file mode 100644
index 0000000..5793a57
--- /dev/null
+++ b/docs/type_system/op.md
@@ -0,0 +1,7 @@
+# Op
+
+---
+
+```text
+Op[TYPE; TYPE; TYPE]
+```
diff --git a/docs/type_system/queue.md b/docs/type_system/queue.md
new file mode 100644
index 0000000..92fa008
--- /dev/null
+++ b/docs/type_system/queue.md
@@ -0,0 +1,7 @@
+# Queue
+
+---
+
+```text
+Queue[TYPE]
+```
diff --git a/docs/type_system/regex.md b/docs/type_system/regex.md
new file mode 100644
index 0000000..b72e330
--- /dev/null
+++ b/docs/type_system/regex.md
@@ -0,0 +1,3 @@
+# Regex
+
+---
diff --git a/docs/type_system/shared.md b/docs/type_system/shared.md
new file mode 100644
index 0000000..9fc9c1d
--- /dev/null
+++ b/docs/type_system/shared.md
@@ -0,0 +1,7 @@
+# Shared
+
+---
+
+```text
+Shared[TYPE]
+```
diff --git a/docs/type_system/state.md b/docs/type_system/state.md
new file mode 100644
index 0000000..c1318ff
--- /dev/null
+++ b/docs/type_system/state.md
@@ -0,0 +1,15 @@
+# State
+
+---
+
+```text
+State_class : Enum[.iterator; .closure; .task]
+
+State[STATE; FN; State_class]
+```
+
+# Iterator
+
+# Closure
+
+# Task
diff --git a/docs/type_system/symbol.md b/docs/type_system/symbol.md
new file mode 100644
index 0000000..26b2521
--- /dev/null
+++ b/docs/type_system/symbol.md
@@ -0,0 +1,7 @@
+# Symbol
+
+---
+
+```text
+Symbol[TYPE]
+```
diff --git a/docs/type_system/token.md b/docs/type_system/token.md
new file mode 100644
index 0000000..78863bb
--- /dev/null
+++ b/docs/type_system/token.md
@@ -0,0 +1,3 @@
+# Token
+
+---
diff --git a/docs/type_system/union.md b/docs/type_system/union.md
new file mode 100644
index 0000000..2fde486
--- /dev/null
+++ b/docs/type_system/union.md
@@ -0,0 +1,7 @@
+# Union
+
+---
+
+```text
+Union[TYPE.SYMBOL; ...]
+```
diff --git a/docs/type_system/value.md b/docs/type_system/value.md
new file mode 100644
index 0000000..be36f81
--- /dev/null
+++ b/docs/type_system/value.md
@@ -0,0 +1,3 @@
+# Value
+
+---
diff --git a/docs/type_system/var.md b/docs/type_system/var.md
new file mode 100644
index 0000000..bd41278
--- /dev/null
+++ b/docs/type_system/var.md
@@ -0,0 +1,9 @@
+# Var
+
+---
+
+```text
+Var_class: Enum[.arg; .local]
+
+Var[TYPE; Var_class; Value[U64;...]; FN]
+```
diff --git a/mkdocs.yml b/mkdocs.yml
index 1b97cf8..705b2e7 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -28,3 +28,22 @@ nav:
- Vector: 'type_system/vector.md'
- Map: 'type_system/map.md'
- Set: 'type_system/set.md'
+ - Queue: 'type_system/queue.md'
+ - Union: 'type_system/union.md'
+ - Shared: 'type_system/shared.md'
+ - Error: 'type_system/error.md'
+ - Var: 'type_system/var.md'
+ - Fn: 'type_system/fn.md'
+ - State: 'type_system/state.md'
+ - Regex: 'type_system/regex.md'
+ - Namespace: 'type_system/namespace.md'
+ - Token: 'type_system/token.md'
+ - Value: 'type_system/value.md'
+ - Clause: 'type_system/clause.md'
+ - Name: 'type_system/name.md'
+ - Define: 'type_system/define.md'
+ - Symbol: 'type_system/symbol.md'
+ - Op: 'type_system/op.md'
+ - List: 'type_system/list.md'
+ - Action: 'type_system/action.md'
+