summaryrefslogtreecommitdiff
path: root/docs/lifecycle
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-27 17:17:56 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-27 17:17:56 -0400
commitbb912b081ed339e4a5419bd3d2ffd7465f2f72d3 (patch)
tree7f34b3af1a72672de1d12c8e23dda419c398dce3 /docs/lifecycle
parent003119b9f285e5610f56186bce845441409265ae (diff)
bottom up redesign
Diffstat (limited to 'docs/lifecycle')
-rw-r--r--docs/lifecycle/check.md16
-rw-r--r--docs/lifecycle/eval.md11
-rw-r--r--docs/lifecycle/exec.md5
-rw-r--r--docs/lifecycle/import.md5
-rw-r--r--docs/lifecycle/ir.md25
-rw-r--r--docs/lifecycle/jit.md80
-rw-r--r--docs/lifecycle/notify.md5
-rw-r--r--docs/lifecycle/parse.md37
-rw-r--r--docs/lifecycle/register.md16
-rw-r--r--docs/lifecycle/scope.md25
10 files changed, 0 insertions, 225 deletions
diff --git a/docs/lifecycle/check.md b/docs/lifecycle/check.md
deleted file mode 100644
index cdaea80..0000000
--- a/docs/lifecycle/check.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Check
-
----
-
-Type checking
-
-# Ops
-
-# Actions
-
-## Branches
-
-# Functions
-
-## Return Type
-
diff --git a/docs/lifecycle/eval.md b/docs/lifecycle/eval.md
deleted file mode 100644
index b96482d..0000000
--- a/docs/lifecycle/eval.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Eval
-
----
-
-Reduce AST size by evaluating expressions
-
-## Constant Expressions
-
-## Known Variables
-
-## Type Operations
diff --git a/docs/lifecycle/exec.md b/docs/lifecycle/exec.md
deleted file mode 100644
index bd2012c..0000000
--- a/docs/lifecycle/exec.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Exec
-
----
-
-## Exports
diff --git a/docs/lifecycle/import.md b/docs/lifecycle/import.md
deleted file mode 100644
index 669e67b..0000000
--- a/docs/lifecycle/import.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Import
-
----
-
-Find each import node and wait for the import to complete life cycle, then get a copy of its `export_tree`
diff --git a/docs/lifecycle/ir.md b/docs/lifecycle/ir.md
deleted file mode 100644
index 376189c..0000000
--- a/docs/lifecycle/ir.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Ir
-
----
-
-Convert an AST into a list of 6 address instructions
-
-# Ops
-
-## Boolean
-
-# Actions
-
-## If
-
-## Loop
-
-## Match
-
-## Mutate
-
-# Process
-
-## Tasks
-
-# Native Functions
diff --git a/docs/lifecycle/jit.md b/docs/lifecycle/jit.md
deleted file mode 100644
index 3ef73e0..0000000
--- a/docs/lifecycle/jit.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Jit
-
----
-
-Convert Ir Into X64 (X86_64)
-
-## Limitations
-
-### No Segmentation Registers
-
-### No X87 Support
-
-### No access to the upper 8 bits of the lower 16 bits of registers AX, BX, CX, DX
-
-## Required Implicit Registers
-
-Instructions that implicitly modify a register now require the register as an argument
-
-# Operation
-
-Each instruction is written with varardic c functions with `TYPE`, `DATA` syntax
-
-## TYPE
-
-### General Registers Width
-
-### General Register Addresses Width
-
-### General Register Scale
-
-### General Register Id
-
-### General Register Memory Offset
-
-### XMM Registers
-
-### MM Registers
-
-### Immediate Value
-
-### Relative Address
-
-### Label
-
-## DATA
-
-## Object Definitions
-
-```c
-kpl_x64_lable(label)
-
-kpl_x64_inst(INSTRUCTION, [TYPE, VALUE]..., END)
-
-kpl_x64_inst_pfx(PREFIX, INSTRUCTION, [TYPE, VALUE]..., END)
-```
-
-# Ir Matching
-
-Use tree with sub trees to match Ir operations to JIT functions
-
-1. Match Name
-2. Match Args until None or End
-3. Run JIT Fn
-
-## Object Definitions
-
-```c
-typedef struct _kpl_ir_match {
- int32_t tree_weight;
- union {
- kpl_ir_name ir_name;
- kpl_type_header type_header;
- } match;
- union {
- struct _kpl_ir_match *children;
- void *jit_fn; // TODO
- } next;
- struct _kpl_ir_match *tree_left *tree_right;
-} kpl_ir_match;
-```
diff --git a/docs/lifecycle/notify.md b/docs/lifecycle/notify.md
deleted file mode 100644
index 4c53254..0000000
--- a/docs/lifecycle/notify.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Notify
-
----
-
-## Release Export Mutex
diff --git a/docs/lifecycle/parse.md b/docs/lifecycle/parse.md
deleted file mode 100644
index 6d702a8..0000000
--- a/docs/lifecycle/parse.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Parse
-
----
-
-Build initial AST
-
-# Value
-
-## Integer `\d+`
-
-## Float `\d+\.\d+`
-
-## String `".*?"`
-
-## Char `'\\?.'
-
-# Name `[_a-z][a-zA-z0-9_]{0,49}`
-
-# Type `[A-Z][a-zA-z0-9_]{0,49}`
-
-On type completion look up if type is a builtin
-
-# Symbol `\.[a-zA-z0-9_]{0,50}`
-
-# Op
-
-## Op ``[a-z_]+|OPERATORS`
-
-## Action `[?@#^]`
-
-# List
-
-## List `()`
-
-## Define `[]`
-
-## Action `{}`
diff --git a/docs/lifecycle/register.md b/docs/lifecycle/register.md
deleted file mode 100644
index bffb3a8..0000000
--- a/docs/lifecycle/register.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Register
-
----
-
-## Module
-
-1. Add findsert task to `namespace_module_mutex`
- * If found, stop
-2. Create the namespace, lock its `export_mutex` and add to namespace tree
-3. Create task on the new namespaces to read the file into a string
-4. On completion of the read task start a parse task
-
-## String
-
-1. Add task to set new `kpl_buffer` to `namespace_string` `module_string`
-2. The set task will start a parse task
diff --git a/docs/lifecycle/scope.md b/docs/lifecycle/scope.md
deleted file mode 100644
index 3310888..0000000
--- a/docs/lifecycle/scope.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Scope
-
----
-
-## Initialize Functions
-
-## Type Variables
-
-## Link Functions Parents
-
-## Link Function Scopes
-
-## Create Vars
-
-## Initialize Actions
-
-## Split Process Into Tasks by `await`
-
-## Register Imports
-
-On finding an import node add a register task for the imported string
-
-## Initialize Generics
-
-## Resolve Unique And Alias Types