summaryrefslogtreecommitdiff
path: root/docs/type_system
diff options
context:
space:
mode:
Diffstat (limited to 'docs/type_system')
-rw-r--r--docs/type_system/bit.md4
-rw-r--r--docs/type_system/function.md21
-rw-r--r--docs/type_system/list.md4
3 files changed, 14 insertions, 15 deletions
diff --git a/docs/type_system/bit.md b/docs/type_system/bit.md
index ba11f30..e30a536 100644
--- a/docs/type_system/bit.md
+++ b/docs/type_system/bit.md
@@ -7,7 +7,7 @@ A sequence of bits that can fit into a general register
```text
SIZE_FLAGS : BIT_ANY | BIT8 | BIT16 | BIT32 | BIT64
-REPRESENTATION_FLAGS : NUMERIC | INT | INT_UNSIGNED | INT_SIGNED | FLOAT |
+REPRESENTATION_FLAGS : INT | INT_UNSIGNED | INT_SIGNED | FLOAT |
UTF8 | UTF16 | UTF32 |
BOOL
@@ -27,8 +27,6 @@ typedef struct {
# Alias
```text
-Number `alias Bit[[BIT_ANT | NUMERIC]]
-
Int `alias Bit[[BIT_ANY | INT]]
Int_unsiged `alias Bit[[BIT_ANY | INT_UNSIGNED]]
diff --git a/docs/type_system/function.md b/docs/type_system/function.md
index 78abdf7..ed1cf9d 100644
--- a/docs/type_system/function.md
+++ b/docs/type_system/function.md
@@ -3,15 +3,16 @@
---
```text
-INVOCATION : UNKNOWN | SYNC | ASYNC
-STATELESS : INCOMPLETE | NATIVE | NATIVE_INLINE | PROCESS | GENERATOR | REGEX_GENERATOR
+MODE: INCOMPLETE | COMPLETE
-STATEFUL : TASK | ITERATOR | CLOSURE | BOUND | REGEX
+INVOCATION : SYNC | ASYNC
+
+STATELESS : NATIVE | NATIVE_INLINE | PROCESS | GENERATOR | REGEX_GENERATOR
-FLAGS : INVOCATION | STATELESS | STATEFUL
+STATEFUL : TASK | ITERATOR | CLOSURE | BOUND | REGEX
-Function[[FLAGS]; Body; RETURN_TYPE; Collection[VAR_LIST; TYPE.SYMBOL]]
+Function[[MODE | INVOCATION | STATELESS | STATEFUL]; INVOCATION_LIST; Body; RETURN_TYPE; Collection[VAR_LIST; TYPE.SYMBOL]]
```
## Type Body Object Definitions
@@ -25,7 +26,7 @@ typedef struct {
# Alias
```text
-Fn[Generic.T; Collection[VAR_TREE_LIST; TYPE.SYMBOL]] `alias Function[[FLAGS]; STATE; List; Generic.T; Collection[VAR_TREE_LIST; TYPE.SYMBOL]]
+Fn[Generic.T; Collection[VAR_TREE_LIST; TYPE.SYMBOL]] `alias Function[...]
```
# Inline Definition
@@ -37,13 +38,13 @@ Fn[Generic.T; Collection[VAR_TREE_LIST; TYPE.SYMBOL]] `alias Function[[FLAGS]; S
# Function Classes
-## Unknown
+## Incomplete
-Placeholder before evaluation
+A function with an incomplete type, type checking occurs at invocation its complete types are stored in its `INVOCATION_LIST`
-## Incomplete
+## Complete
-A function with an incomplete type, type checking occurs at invocation
+A function with a complete type, its sync/async invocations are stored in the `INVOCATION_LIST`
## Native
diff --git a/docs/type_system/list.md b/docs/type_system/list.md
index cbd7f84..b3c6dd7 100644
--- a/docs/type_system/list.md
+++ b/docs/type_system/list.md
@@ -3,13 +3,13 @@
---
```text
-List[[ROOT | STATEMENT | DEFINE | ACTION | LOOP | IF | MATCH | MUTATION] PARENT; TARGET; VAR_TREE; Collection[LIST; TYPE]]
+List[[ROOT | STATEMENT | DEFINE | ACTION | LOOP | IF | MATCH | MUTATION] PARENT; TARGET; ARG; LOOP; VAR_TREE; Collection[LIST; TYPE]]
```
## Type Body Object Definitions
```c
typedef struct {
- kpl_ptr parent, target, var_tree, statement_list;
+ kpl_ptr parent, target, defined, named, var_tree, statement_list;
} kpl_type_body_list;
```