summaryrefslogtreecommitdiff
path: root/docs/type_system/generic.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-18 14:01:26 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-18 14:01:26 -0400
commit003119b9f285e5610f56186bce845441409265ae (patch)
tree34a123532811537a0dd30aa797578be8f732b45b /docs/type_system/generic.md
parente950f786e25967a222cfa7bce7327ffd458e8c95 (diff)
op and ir matching definitions
Diffstat (limited to 'docs/type_system/generic.md')
-rw-r--r--docs/type_system/generic.md9
1 files changed, 5 insertions, 4 deletions
diff --git a/docs/type_system/generic.md b/docs/type_system/generic.md
index 2b9a89f..e028788 100644
--- a/docs/type_system/generic.md
+++ b/docs/type_system/generic.md
@@ -11,6 +11,7 @@ Generic[[TYPE | SYMBOL] TARGET; Collection[VAR_TREE_LIST; TYPE.SYMBOL]]
```c
typedef struct {
kpl_type *target, *var_tree, *var_list;
+ kpl_identifier identifier;
} kpl_type_body_generic;
```
@@ -19,14 +20,14 @@ typedef struct {
```text
ints : Set[I64] $ ()
/*
-ints -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_SET; Symbol[Void; REF_I64; T]; ints]; ints]
-REF_SET -> Name[[ALIAS] Map[Symbol[Void; Generic[[SYMBOL]]; T]; Void]; Set]
+ints -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_SET; Var[[GENERIC] REF_I64; T]; ints]; ints]
+REF_SET -> Name[[ALIAS] Map[Generic[[SYMBOL] T]; Void]; Set]
REF_I64 -> Name[[Alias] Bit[[BIT64 | INT_SIGNED]]; I64]
*/
floats : Array[F64] $ ()
/*
-floats -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_ARRAY; Symbol[Void; REF_F64; T]; floats]; floats]
-REF_ARRAY -> Name[[ALIAS] Buffer[[TYPE] Symbol[Void; Generic[[SYMBOL]]; T]; Array]
+floats -> Name[[DATA] Var[[LOCAL] Generic[[TYPE] REF_ARRAY; Var[[GENERIC] REF_F64; T]; floats]; floats]
+REF_ARRAY -> Name[[ALIAS] Buffer[[TYPE] Generic[[SYMBOL]; T]; Array]
REF_F64 -> Name[[Alias] Bit[BIT64 | FLOAT]; F64]
*/
```