diff options
| author | nodist <kevin.comas.git@gmail.com> | 2026-07-11 21:37:00 -0400 |
|---|---|---|
| committer | nodist <kevin.comas.git@gmail.com> | 2026-07-11 21:37:00 -0400 |
| commit | 5fadfba312fcd0367a3341c5d194b7955627c177 (patch) | |
| tree | b459f27fec6028091d4b3af39f76d79348905148 /docs | |
| parent | 730faa451fbc3e7ae37c8a3b32b9d4d99007c666 (diff) | |
remove imcomplete functions
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/lifecycle/check.md | 10 | ||||
| -rw-r--r-- | docs/type_system/bit.md | 9 | ||||
| -rw-r--r-- | docs/type_system/function.md | 19 |
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 |
