# Kevin's Programming Language (KPL) Specification --- ## Language Goals ### 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 ### Run On Linux/WSL With `io_uring` For `X86-64` And `Aarch64` Only with Minimal Dependencies * 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