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