summaryrefslogtreecommitdiff
path: root/docs/type_system
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-07 15:33:52 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-07 15:33:52 -0400
commit51c371db6ced53b8f9198890672961ef912a9aad (patch)
tree23343a3d1779e9145ae72f9b12570d81b1ee8759 /docs/type_system
parent7add85856a927766f218789aa946641228650c02 (diff)
define interfaces
Diffstat (limited to 'docs/type_system')
-rw-r--r--docs/type_system/bit.md6
-rw-r--r--docs/type_system/buffer.md2
-rw-r--r--docs/type_system/error.md2
-rw-r--r--docs/type_system/function.md6
-rw-r--r--docs/type_system/map.md1
-rw-r--r--docs/type_system/queue.md2
-rw-r--r--docs/type_system/select.md2
-rw-r--r--docs/type_system/task.md1
8 files changed, 14 insertions, 8 deletions
diff --git a/docs/type_system/bit.md b/docs/type_system/bit.md
index e30a536..f730563 100644
--- a/docs/type_system/bit.md
+++ b/docs/type_system/bit.md
@@ -18,7 +18,7 @@ Bit[[SIZE_FLAGS | REPRESENTATION_FLAGS]]
```c
typedef struct {
- // EMPTY
+ kpl_interface *interface;
} kpl_type_body_bit;
```
@@ -113,6 +113,10 @@ Bool `alias Bit[[BIT8 | BOOL]]
### Compare `<=>`
+```c
+typedef ssize_t kpl_interface_compare(const kpl_any any_a, const kpl_any any_b);
+```
+
# Char
```text
diff --git a/docs/type_system/buffer.md b/docs/type_system/buffer.md
index f351b4f..554a467 100644
--- a/docs/type_system/buffer.md
+++ b/docs/type_system/buffer.md
@@ -12,7 +12,7 @@ Buffer[[TYPE | UTF8 | UTF16 | UTF32] TYPE]
```c
typedef struct {
- kpl_ptr type;
+ kpl_interface *interface;
} kpl_type_body_buffer;
```
diff --git a/docs/type_system/error.md b/docs/type_system/error.md
index fbd15eb..7931e0e 100644
--- a/docs/type_system/error.md
+++ b/docs/type_system/error.md
@@ -12,7 +12,7 @@ Error[[]]
```c
typedef struct {
- // EMPTY
+ kpl_interface *interface;
} kpl_type_body_error;
```
diff --git a/docs/type_system/function.md b/docs/type_system/function.md
index 3847941..515550a 100644
--- a/docs/type_system/function.md
+++ b/docs/type_system/function.md
@@ -17,8 +17,8 @@ Function[[MODE | STATELESS | STATEFUL]; JIT; IR; Body; INVOCATION_LIST; RETURN_T
```c
typedef struct {
- void *code;
- kpl_ptr ir, body, invocations, return_type, var_list;
+ void *jit;
+ kpl_ptr ir, body, invocation_list, return_type, var_list;
} kpl_type_body_function;
```
@@ -43,7 +43,7 @@ A function with an incomplete type, type checking occurs at invocation its compl
## Complete
-A function with a complete type, its sync/async invocations are stored in the `INVOCATION_LIST`
+A function with a complete type, it stores it's `IR` and `JIT`
## Native
diff --git a/docs/type_system/map.md b/docs/type_system/map.md
index 44cd6cf..839d511 100644
--- a/docs/type_system/map.md
+++ b/docs/type_system/map.md
@@ -11,6 +11,7 @@ Map[[] KEY_TYPE; VALUE_TYPE]
```c
typedef struct {
kpl_ptr key, value;
+ kpl_interface *interface;
} kpl_type_body_map;
```
diff --git a/docs/type_system/queue.md b/docs/type_system/queue.md
index 3b17512..800aa43 100644
--- a/docs/type_system/queue.md
+++ b/docs/type_system/queue.md
@@ -10,7 +10,7 @@ Queue[[] TYPE]
```c
typedef struct {
- kpl_ptr type;
+ kpl_interface *interface;
} kpl_type_body_queue;
```
diff --git a/docs/type_system/select.md b/docs/type_system/select.md
index 4ef3bbb..98719a5 100644
--- a/docs/type_system/select.md
+++ b/docs/type_system/select.md
@@ -12,7 +12,7 @@ Select[[SINGLE | MULTIPLE] Type; Collection[VAR_TREE_LIST; .symbol : %const Valu
```c
typedef struct {
- kpl_ptr type, var_tree, var_list;
+ kpl_ptr var_tree, var_list;
} kpl_type_body_select;
```
diff --git a/docs/type_system/task.md b/docs/type_system/task.md
index 3561737..ae547b2 100644
--- a/docs/type_system/task.md
+++ b/docs/type_system/task.md
@@ -13,6 +13,7 @@ Task[[] TYPE]
```c
typedef struct {
kpl_ptr type;
+ kpl_interface *interface;
} kpl_type_body_task;
```