Skip to content

Kāra

A compiled, auto-parallelizing programming language.

Automatic parallelization

Functions declare the effects they touch; the compiler proves independent work safe and runs it concurrently — no async/await, no colored functions, no threads, pools, or locks to manage by hand.

Ownership without lifetimes

Memory safety with no 'a annotations. Parameter modes — owned, ref, mut ref — are declared at the signature; borrows are inferred by source pinning, and reference counting is inserted only as a last resort, never silently.

Every decision as JSON

Effects, ownership, concurrency, and costs are all queryable — karac query answers what the compiler inferred, and diagnostics ship machine-applicable fixes that karac fix applies. Built for agents and humans alike.

Effects, not async

Eight built-in effect verbs describe what each function does to the world. The compiler reads them to schedule blocking I/O off the runtime threads and to keep output deterministic by contract.

Data layout separation

Logical structure stays clean; physical memory layout is a separate, opt-in layout block — group hot fields for cache locality and SoA without touching your types.

Standard library at v1

In-tree HTTP/1.1, TLS, and WebSocket with blocking-style I/O and no function coloring — no third-party runtime, the effect scheduler moves blocking work off the par-runtime threads.

Idle-connection density

2M idle WebSocket-over-TLS connections in one process at ~12.1 KB/conn — 2.3× denser than Rust, 0 failures, reproducible on an r8g.4xlarge. The densest of seven runtimes benchmarked.

Native via LLVM

Ahead-of-time compilation to native machine code, benchmarked at parity with C and Rust — overflow-checked by default, with C-sized binaries.

WebAssembly

Compile to wasm32-wasip1 from the same source — arithmetic, collections, JSON, pattern matching, and file I/O run byte-identical to native under any WASI host.

One toolchain

karac builds, runs, tests, formats, queries, and targets native or wasm — one binary, no separate tools to assemble.