summaryrefslogtreecommitdiff
path: root/docs/type_system
diff options
context:
space:
mode:
Diffstat (limited to 'docs/type_system')
-rw-r--r--docs/type_system/enum.md13
-rw-r--r--docs/type_system/index.md26
2 files changed, 39 insertions, 0 deletions
diff --git a/docs/type_system/enum.md b/docs/type_system/enum.md
new file mode 100644
index 0000000..9e6be9b
--- /dev/null
+++ b/docs/type_system/enum.md
@@ -0,0 +1,13 @@
+# Enum
+
+---
+
+Unique symbols associated with a type that can map to an underlying type
+
+```text
+Enum[.name; ...] // Resoves to Enum[Void; ...]
+
+Enum[TYPE; .name; ...]
+
+Enum[TYPE; .name : VALUE; ...]
+```
diff --git a/docs/type_system/index.md b/docs/type_system/index.md
index 79371d0..3b67475 100644
--- a/docs/type_system/index.md
+++ b/docs/type_system/index.md
@@ -5,3 +5,29 @@
# Templates
A template is an incomplete type
+
+## Template Fields
+
+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
+
+## Defined Templates
+
+* #### [Enum](./enum.md)
+
+# Alias
+
+A type based on a complete template that is interchangeable with what it is based on
+
+## Defined Alias
+
+# Unique
+
+A type based on a complete template that is not interchangeable with what it is based on