A predictable language for modern workflows.
Quokka is a strictly self-hosted programming language designed for clarity and reliability. It features deterministic programming language design, Result and Option error handling, and seamless LoRA fine-tuning via Unsloth out of the box.
$ quokka run hello.qka
Hello, World!
Core Design Principles
Verifiable builds.
Quokka boots from a small C host (src/bootstrap, roughly 2,150 lines: a lexer, parser, and tree-walking interpreter) just once — Stage 0. Stage 0's only job is to run the canonical Quokka interpreter, which is itself written entirely in Quokka. From there, Quokka compiles Quokka.
Run quokka check-self and it re-bootstraps the interpreter through multiple stages, then compares cryptographic hashes of the AST and the output at each stage. If they match, self-hosting isn't a claim on this page — it's a number you can verify on your own machine.
Joey: ML integration without the bloat.
Joey is a standard library extension that interfaces cleanly with Python and PyTorch via a strictly typed JSON IPC boundary, keeping the core language minimal.
import joey
let mut pipeline = joey.pipeline()
pipeline.load_model("meta-llama/Llama-3-8B", "4bit")
pipeline.train("quokka_dataset", 512)
let result = pipeline.run()
match result {
Ok(status) => println("Training complete! " ++ status),
Err(e) => println("Training failed: " ++ e),
}
Today: Joey orchestrates fine-tuning through this Python/Unsloth bridge, including CUDA-accelerated training. AMD/ROCm is untested. A fully native Joey runtime — removing the Python process entirely for supported operations — is in progress; see the Roadmap below.
Project Roadmap
Quokka was built solo, from a small C bootstrap host up through a fully self-hosted compiler written in the language itself. It's open source under the MIT License starting at v0.1.0 — read the source, run the verifier yourself, and see exactly how it works.
If you'd like to contribute, start with the Contributing Guide.
Get started
Install
Run the installer. It configures your PATH, file associations, and VS Code extension automatically.
Run
quokka run hello.qk
Documentation & Guides
Hello, Quokka
Install Quokka and run your first script in five minutes.
Errors without exceptions
Walk through Result, Option, match, and the ? operator by building a config file reader that handles failure explicitly.
Fine-tune Llama-3 with Joey
Follow the full Joey pipeline end to end — from `joey.pipeline()` to a trained LoRA adapter — and see exactly what happens under the hood.
Quokka