summaryrefslogtreecommitdiff
path: root/docs/type_system/function.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-03 13:27:41 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-03 13:27:41 -0400
commitbe4f67c834719a8d12f5588d42d64bd39d1cb0c6 (patch)
tree7b308dc3df225ac16db20e59cf459fc66f0a0250 /docs/type_system/function.md
parent523649ed10f85bddcad574afa47abaf73d2b0a1e (diff)
add more lifecycle
Diffstat (limited to 'docs/type_system/function.md')
-rw-r--r--docs/type_system/function.md21
1 files changed, 11 insertions, 10 deletions
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