diff options
Diffstat (limited to 'docs/type_system')
| -rw-r--r-- | docs/type_system/bit.md | 4 | ||||
| -rw-r--r-- | docs/type_system/function.md | 21 | ||||
| -rw-r--r-- | docs/type_system/list.md | 4 |
3 files changed, 14 insertions, 15 deletions
diff --git a/docs/type_system/bit.md b/docs/type_system/bit.md index ba11f30..e30a536 100644 --- a/docs/type_system/bit.md +++ b/docs/type_system/bit.md @@ -7,7 +7,7 @@ A sequence of bits that can fit into a general register ```text SIZE_FLAGS : BIT_ANY | BIT8 | BIT16 | BIT32 | BIT64 -REPRESENTATION_FLAGS : NUMERIC | INT | INT_UNSIGNED | INT_SIGNED | FLOAT | +REPRESENTATION_FLAGS : INT | INT_UNSIGNED | INT_SIGNED | FLOAT | UTF8 | UTF16 | UTF32 | BOOL @@ -27,8 +27,6 @@ typedef struct { # Alias ```text -Number `alias Bit[[BIT_ANT | NUMERIC]] - Int `alias Bit[[BIT_ANY | INT]] Int_unsiged `alias Bit[[BIT_ANY | INT_UNSIGNED]] 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 diff --git a/docs/type_system/list.md b/docs/type_system/list.md index cbd7f84..b3c6dd7 100644 --- a/docs/type_system/list.md +++ b/docs/type_system/list.md @@ -3,13 +3,13 @@ --- ```text -List[[ROOT | STATEMENT | DEFINE | ACTION | LOOP | IF | MATCH | MUTATION] PARENT; TARGET; VAR_TREE; Collection[LIST; TYPE]] +List[[ROOT | STATEMENT | DEFINE | ACTION | LOOP | IF | MATCH | MUTATION] PARENT; TARGET; ARG; LOOP; VAR_TREE; Collection[LIST; TYPE]] ``` ## Type Body Object Definitions ```c typedef struct { - kpl_ptr parent, target, var_tree, statement_list; + kpl_ptr parent, target, defined, named, var_tree, statement_list; } kpl_type_body_list; ``` |
