summaryrefslogtreecommitdiff
path: root/docs/objectives.md
diff options
context:
space:
mode:
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