summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/lifecycle/check.md10
-rw-r--r--docs/type_system/bit.md9
-rw-r--r--docs/type_system/function.md19
3 files changed, 13 insertions, 25 deletions
diff --git a/docs/lifecycle/check.md b/docs/lifecycle/check.md
index cb52ca8..358106d 100644
--- a/docs/lifecycle/check.md
+++ b/docs/lifecycle/check.md
@@ -8,12 +8,4 @@ Type checking
# Actions
-# Complete Function Definitions
-
-A function with its arguments and return type defined
-
-# Incomplete Function Definitions
-
-Check if the function's arguments are all typed, if they are the functions return type can be inferred and set as a complete function
-
-Can only type check on invocation, check if invocation is in the `INVOCATION_LIST` if not add new invocation
+# Functions
diff --git a/docs/type_system/bit.md b/docs/type_system/bit.md
index f730563..26d5a98 100644
--- a/docs/type_system/bit.md
+++ b/docs/type_system/bit.md
@@ -9,7 +9,8 @@ SIZE_FLAGS : BIT_ANY | BIT8 | BIT16 | BIT32 | BIT64
REPRESENTATION_FLAGS : INT | INT_UNSIGNED | INT_SIGNED | FLOAT |
UTF8 | UTF16 | UTF32 |
- BOOL
+ BOOL |
+ TYPE
Bit[[SIZE_FLAGS | REPRESENTATION_FLAGS]]
```
@@ -51,6 +52,8 @@ F64 `alias Bit[[BIT64 | FLOAT]]
Char `alias Bit[[BIT32 | UTF8]]
Bool `alias Bit[[BIT8 | BOOL]]
+
+Type `alias Bit[[BIT64 | TYPE]]
```
# Operators
@@ -123,3 +126,7 @@ typedef ssize_t kpl_interface_compare(const kpl_any any_a, const kpl_any any_b);
c : 'Σ'
`log c // Char $ 'Σ'
```
+
+# Type
+
+KPL Types as values
diff --git a/docs/type_system/function.md b/docs/type_system/function.md
index bca4c7e..76430a5 100644
--- a/docs/type_system/function.md
+++ b/docs/type_system/function.md
@@ -3,14 +3,11 @@
---
```text
-
-MODE: INCOMPLETE | COMPLETE
-
STATELESS : NATIVE | NATIVE_INLINE | PROCESS | GENERATOR | REGEX_GENERATOR
STATEFUL : TASK | ITERATOR | CLOSURE | BOUND | REGEX
-Function[[MODE | STATELESS | STATEFUL]; JIT; IR; Body; INVOCATION_LIST; RETURN_TYPE; Collection[NAME_LIST; TYPE.SYMBOL]]
+Function[[MODE | STATELESS | STATEFUL]; JIT; IR; Body; RETURN_TYPE; Collection[NAME_LIST; TYPE.SYMBOL]]
```
## Type Body Object Definitions
@@ -18,7 +15,7 @@ Function[[MODE | STATELESS | STATEFUL]; JIT; IR; Body; INVOCATION_LIST; RETURN_T
```c
typedef struct {
void *jit;
- kpl_type *ir, *body, *invocation_list, *return_type, *var_list;
+ kpl_type *ir, *body, *return_type, *var_list;
} kpl_type_body_function;
```
@@ -31,20 +28,12 @@ Fn[Generic.T; Collection[VAR_TREE_LIST; TYPE.SYMBOL]] `alias Function[...]
# Inline Definition
```text
-([x; y] x + y) // Fn[Any; Any.x; Any.y]
-([I64.x; y] x + y) // Fn[Any; I64.x; Any.y]
+([I64.x; I64.y] x + y) // Fn[Any; I64.x; I64.y]
+([I64; I64.x; I64.y] x + y) // Fn[I64; I64.x; I64.y]
```
# Function Classes
-## Incomplete
-
-A function with an incomplete type, type checking occurs at invocation its complete types are stored in its `INVOCATION_LIST`
-
-## Complete
-
-A function with a complete type, it stores it's `IR` and `JIT`
-
## Native
Native C code that can be called async