Skip to content

Repository files navigation

Kata

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

Quick start

From this checkout, run the hello-world demo:

cargo run -- ks demos/hello/hello.ks

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

Run the interpreter conformance suite with:

cargo test --test conformance

Build the self-hosted compiler and run a compiled example:

cargo run --release -- bootstrap
target/release/kata run demos/bootstrap.ks --compiler target/bootstrap/stage3.kbc

See the compiler guide for the bootstrap proof, debugger, verification commands, and supported language profile.

Repository layout

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.

About

Kata is a programming ecosystem

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages