summaryrefslogtreecommitdiff
path: root/docs/objectives.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-09-03 12:32:13 -0400
committernodist <kevin.comas.git@gmail.com>2026-09-03 12:32:13 -0400
commit9ea666b63c5105131bb7f772ae3fbe9b56a865ff (patch)
tree92ef8a29efa73c3ebe6637e8ab8f6305e4aa69d1 /docs/objectives.md
parent85773659adcced87804c6304fb71c9ea33ae43eb (diff)
change spec layout
Diffstat (limited to 'docs/objectives.md')
-rw-r--r--docs/objectives.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/docs/objectives.md b/docs/objectives.md
new file mode 100644
index 0000000..313b3f6
--- /dev/null
+++ b/docs/objectives.md
@@ -0,0 +1,37 @@
+# Objectives
+
+---
+
+### Implicit Error Handling
+
+* All operations return a `Result` that can be manually or automatically checked
+
+### Asynchronous First
+
+* No functions, only coroutines
+
+### All Code Is Thread Safe
+
+* Values are atomic and all containers have a `mutex` like mechanism that is implicitly locked before use
+
+### Strongly Typed
+
+* Dynamic types are represented by `Any`, these types have to be matched to a type before they can be used
+
+### Single Invocation
+
+* Just In Time Compilation
+
+### Asymmetric C Interoperability
+
+* KPL code can call C code, C code can call certain KPL code
+
+### Minimal Dependencies
+
+* Run On Linux With `io_uring` For `X86-64` (X64) And `Aarch64` (A64) Only
+
+* GCC, Make and OpenSSL; should compile on *most* distributions without any extra steps
+
+### Low Resource Usage
+
+* Should work on servers with 1 Core and 1 Gigabyte of RAM