summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-09-08 10:42:31 -0400
committernodist <kevin.comas.git@gmail.com>2026-09-08 10:42:31 -0400
commit76601e59f4f45df04d467ac6673ebbd9ea79b753 (patch)
tree98098f0935191e69560a6d57f2889664470d0392 /docs
parentdb5ae642219e222e07d47614d7e602371b21aec2 (diff)
new spec layout
Diffstat (limited to 'docs')
-rw-r--r--docs/allocator.md65
-rw-r--r--docs/check.md3
-rw-r--r--docs/code.md3
-rw-r--r--docs/eval.md3
-rw-r--r--docs/import.md3
-rw-r--r--docs/index.md4
-rw-r--r--docs/ir.md3
-rw-r--r--docs/jit.md3
-rw-r--r--docs/load.md3
-rw-r--r--docs/memory.md3
-rw-r--r--docs/parse.md3
-rw-r--r--docs/run.md3
-rw-r--r--docs/thread.md9
-rw-r--r--docs/type.md3
14 files changed, 44 insertions, 67 deletions
diff --git a/docs/allocator.md b/docs/allocator.md
deleted file mode 100644
index 5885d76..0000000
--- a/docs/allocator.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# Allocator
-
----
-
-KPL uses `mmap` to allocate slabs of non-executable and executable memory
-
-Once memory is used it is not returned to the OS until KPL exits
-
-## Non-Executable
-
-### Mapping
-
-Two linked list of pages is kept, tracing the size of map and how much is used:
-
-#### Small Page Allocator
-
-For allocations less then a page size `< 2 ^ 12`
-
-#### Large Page Allocator
-
-For allocations a page size or larger `>= 2 ^ 12`
-
-### Object Sizes
-
-Every Object KPL allocates is sized to the next power of 2
-
-Because each power of two requires its own ring buffer, minimum allocation size is `2 ^ 6` and max is `2 ^ 27`
-
-### Ring Buffer Sizes
-
-The total number of objects each ring buffer can store can by modified by MACRO'S at compile time
-
-The program will exit if more objects are allocated then it's corresponding ring buffer can hold
-
-### Ring Buffer Implementation
-
-Each ring buffer is implemented as an atomic multi-producer multi-consumer queue
-
-### Operation
-
-#### Constructor
-
-#### Requesting Objects
-
-#### Returning Objects
-
-#### Destructor
-
-## Executable
-
-### Mapping
-
-A linked list of pages is kept, tracing the size of each map and how much is used
-
-### Operation
-
-#### Constructor
-
-#### Requesting Memory
-
-#### Writing To Memory
-
-#### Making Memory Executable
-
-#### Destructor
diff --git a/docs/check.md b/docs/check.md
new file mode 100644
index 0000000..3e8177e
--- /dev/null
+++ b/docs/check.md
@@ -0,0 +1,3 @@
+# Check
+
+---
diff --git a/docs/code.md b/docs/code.md
new file mode 100644
index 0000000..b17f2d7
--- /dev/null
+++ b/docs/code.md
@@ -0,0 +1,3 @@
+# Code
+
+---
diff --git a/docs/eval.md b/docs/eval.md
new file mode 100644
index 0000000..8572f21
--- /dev/null
+++ b/docs/eval.md
@@ -0,0 +1,3 @@
+# Eval
+
+---
diff --git a/docs/import.md b/docs/import.md
new file mode 100644
index 0000000..bf7635d
--- /dev/null
+++ b/docs/import.md
@@ -0,0 +1,3 @@
+# Import
+
+---
diff --git a/docs/index.md b/docs/index.md
index 3f08671..66a668b 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -6,6 +6,6 @@ Version 0.0.0
## Overview
-KPL is a high level, asynchronous, garbage collected, just in time, programming language.
+KPL is a high level, multi-threaded, asynchronous, garbage collected, just in time compiled, programming language.
-This document describes the design of the language and how it is implemented.
+This document describes the design of the language, it's implementation and the life cycle of a KPL program.
diff --git a/docs/ir.md b/docs/ir.md
new file mode 100644
index 0000000..aa04f99
--- /dev/null
+++ b/docs/ir.md
@@ -0,0 +1,3 @@
+# IR
+
+---
diff --git a/docs/jit.md b/docs/jit.md
new file mode 100644
index 0000000..0f887bd
--- /dev/null
+++ b/docs/jit.md
@@ -0,0 +1,3 @@
+# JIT
+
+---
diff --git a/docs/load.md b/docs/load.md
new file mode 100644
index 0000000..b5c49fe
--- /dev/null
+++ b/docs/load.md
@@ -0,0 +1,3 @@
+# Load
+
+---
diff --git a/docs/memory.md b/docs/memory.md
new file mode 100644
index 0000000..fcae678
--- /dev/null
+++ b/docs/memory.md
@@ -0,0 +1,3 @@
+# Memory
+
+---
diff --git a/docs/parse.md b/docs/parse.md
new file mode 100644
index 0000000..458ba97
--- /dev/null
+++ b/docs/parse.md
@@ -0,0 +1,3 @@
+# Parse
+
+---
diff --git a/docs/run.md b/docs/run.md
new file mode 100644
index 0000000..13a3e2d
--- /dev/null
+++ b/docs/run.md
@@ -0,0 +1,3 @@
+# Run
+
+---
diff --git a/docs/thread.md b/docs/thread.md
new file mode 100644
index 0000000..684479e
--- /dev/null
+++ b/docs/thread.md
@@ -0,0 +1,9 @@
+# Thread
+
+---
+
+## Initialization
+
+## Allocator
+
+## Task Queue
diff --git a/docs/type.md b/docs/type.md
new file mode 100644
index 0000000..c6561b8
--- /dev/null
+++ b/docs/type.md
@@ -0,0 +1,3 @@
+# Type
+
+---