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

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.