Skip to content
kata / a language workbench

Documentation

Kata is a programming language workbench. Its current implementation runs KataScript directly from an abstract syntax tree, with a Rust interpreter and a standard library written largely in KataScript.

KataScript is dynamic and expression-oriented. You can start with a few unannotated bindings, then add runtime type checks, product and sum types, methods, and interfaces as a program grows.

func square(n: Int): Int {
ret n * n
}
let values = [2, 3, 5]
for n in values {
print("{n} squared is {square(n)}")
}

The source repository contains three useful layers: the interpreter in katars/src/ks/, the standard library in std/, and behavioral fixtures in tests/ks/. A feature’s syntax, implementation, and observed behavior are all available to inspect.

The project is experimental. The language status page distinguishes working features, missing facilities, and known correctness limits. Use it before extending an example into a larger program.