Kata is a personal programming-language workbench for KataScript: a dynamically typed, expression-oriented language with a Rust tree walker and a compiler written in KataScript. The compiler rebuilds itself through three identical KBC generations on KVM for a defined bootstrap profile. The repository also contains an extensible KIR graph library, a terminal REPL, and the bounded WebAssembly host used by the kata.wiki playground. Full-language compilation and native execution remain in progress.
The Astro/Starlight documentation site lives in site/.
From this checkout, run the hello-world demo:
cargo run -- ks demos/hello/hello.ksUse kata repl for the interactive terminal session, or inspect the frontend
without evaluation:
cargo run -- ks --dump-tokens demos/hello/hello.ks
cargo run -- ks --dump-ast demos/hello/hello.ksRun the interpreter conformance suite with:
cargo test --test conformanceBuild the self-hosted compiler and run a compiled example:
cargo run --release -- bootstrap
target/release/kata run demos/bootstrap.ks --compiler target/bootstrap/stage3.kbcSee the compiler guide for the bootstrap proof, debugger, verification commands, and supported language profile.
katars/ CLI, tree walker, seed KVM, debugger, and terminal REPL
compiler/ KataScript compiler, graph library, and KVM source
kata-wasm/ bounded WebAssembly interface over the same interpreter
std/ KataScript standard modules embedded in the Rust hosts
tests/ks/ one-behavior conformance fixtures
demos/ standalone KataScript programs
site/ kata.wiki source, checked examples, and browser host
docs/ philosophy and accepted language decisions
plan/ active proposals, concrete work, and roadmap
The standard library currently has core, mem, and dsa modules. The
prelude imports the core protocols and Arr/Map; mem remains explicitly
imported for low-level memory access. See the standard-library philosophy
and the roadmap for the boundary between shipped facilities
and longer-term compiler work.