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)}")}Choose a starting point
Section titled “Choose a starting point”- Getting started takes you from a source checkout to your first script.
- The playground runs short programs in your browser. Learn its controls to edit, debug, and inspect tokens.
- The language guide explains the language in order, with small examples.
- Tutorials build complete programs and explain the decisions along the way.
- The language reference answers focused questions about syntax, types, operators, and library contracts.
- Examples pair editable source with checked expected output and live execution.
- CLI reference covers execution, the REPL, and frontend inspection.
Read the implementation with the guide
Section titled “Read the implementation with the guide”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.