blob: efb90b776f46425f769aae67403c97e6a101c82e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
|