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