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.
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.