Skip to content

Buraaq 1.0: self-hosted systems language

Write like Python. Run like C.

A systems language with Python-shaped source and LLVM native code. No garbage collector. The compiler is Buraaq. Ship a hashed binary, not a guest OS.

fn main() {
    name = "Buraaq"
    println("Hello, {name}")
}

Where it runs

One language across the stack

From a Keel API on a cloud host to firmware at the edge: same source shape, same native binary, no guest runtime in between.

  • Web, games & native

    Apps, game loops, and desktop tools with Python-shaped source and a native binary.

  • APIs

    Keel TLS endpoints and pages: sockets stay in the runtime, not in a framework zoo.

  • Firmware & OS

    Close to the metal: no GC, C ABI, and an honest path for unsafe work.

  • Robotics & embedded

    Tight loops and deterministic control where pauses are not an option.

  • Satellites

    Constrained hosts, long missions, and code that has to stay boring under stress.

  • Cybersecurity

    Agents, parsers, and tools where memory mistakes become vulnerabilities.

  • Cloud & AI

    Inference services, data paths, and hashed .bur ships: Land on any host without a guest OS.

  • Finance & industrial

    Ledgers, plant control, and industrial systems that need native speed without a GC.

The names you were not expecting

Eight names. The rest of the stack disappeared.

Other languages borrow a zoo of libraries and then make you live in that zoo. Buraaq 1.0 names the job: Stream, Graphics, Hold, Grid, Keel, Ship, Script, Mind. Ship includes Land. Script is optional. Mind serves and trains models without a notebook in your tree; Strata keeps heavy models on GPU, RAM, and NVMe. Native when you run.

How Buraaq is different

Most languages pick two of three: easy to write, fast to run, close to the metal. Buraaq 1.0 is built so you do not have to choose.

PythonC / C++RustBuraaq 1.0
Reads likeYesNoAfter a yearYes
Native binaryNoYesYesYes
GC pausesYesNoNoNo
Lifetime syntax: ManualYou write itCompiler infers
Install to writepip / venvcompiler suiterustupwinget / zip / install.ps1
Modules__init__.pyheadersmod.rs + usepath is the name
Self-hostedCPythonNorustcBuraaq
Shipvenv + hostMake + imagecrate + imagehashed .bur

Measured against C++

Gate B on this toolchain: equivalent-n loops, Buraaq --release versus C++ -O2. Four benches beat or match C++. Worst case 1.02× (fib_iter). n was not reduced to look pretty.

BenchnC++ -O2Buraaq 1.0Ratio
nested_loop1e4²0.010s0.002s0.16×
integer_sum1e80.015s<0.001s0.00×
float_saxpy1e70.004s0.004s0.97×
numerical_loop1e80.083s0.084s1.01×
fib_iter1e80.020s0.021s1.02×

clang 22. Same n on both sides. Signed add/sub emit nsw. Unfavorable numbers stay published. Full method: performance.

Simple like Python

No let. No headers. name = 1. fn add(a: int, b: int). print knows the type. Unique std names import themselves.

Fast like C

LLVM, MIR Orbit fold, --release-fast with thin LTO. integer_sum is 0.00× at n=1e8. Worst published: fib_iter 1.02×.

Hosted by itself

Lexer, parser, names, MIR, and LLVM emission are Buraaq. Install is dist/buraaq. You do not rent a runtime from another language.

From first file to a host

From println to a live API

The public docs walk one ledger from a CLI to a Keel service: modules, ownership, borrows, spawn, Postgres, hashed .bur, Land. Keel reconnects when a pooler drops idle. Secrets stay in host environment: never in git.

  • Keel: TLS APIs and pages against Postgres.
  • Ship: hashed .bur, same OS as the host.
  • Land: host kit, systemd unit, env file.
  • Use: test on machines you control. Do not abuse public hosts.
Abstract keel wake: a light path on dark water
Native from source to ship.

Documentation

FAQ

Straight answers

Short answers to the questions people ask before they install: language shape, tooling, shipping, and what you may test.

Still stuck? Start at install or read the security notes.

Native AOT is the default: LLVM, no GC, a binary the OS can exec. Optional scripting (buraaq shell, -e, script) compiles the same language with clang for a fast edit loop. Same language, not a second dialect. Use buraaq run when you want the product binary.

On Windows prefer winget install buraaq or the Release zip (exe + sysroot). Or clone and run install.ps1 / install.sh. That puts buraaq and an LLVM sidecar on your machine. You write .bq. The compiler is written in Buraaq. For the editor, ext install ThoriumDC.buraaq.

The source reads like Python: assignment bindings, fn, for, obvious names. Orbit closes wrapping affine loops. Gate B: integer_sum 0.00× at n=1e8 (same n, wrapping checksum matches). Worst case published: fib_iter 1.02×.

Yes for the happy path. use std.led, buraaq run on the host, buraaq flash on a Pico W in BOOTSEL. The SDK stays in the toolchain board pack. Drop to extern c only when you outgrow std.led.

Yes. buraaq ai doctor, serve, chat, and train keep engines behind the toolchain. std.ai talks to a local OpenAI-compatible serve. Weights stay in the model cache; Land never auto-installs GPU drivers.

Not for a Buraaq service. buraaq pack writes a hashed .bur: native binary plus files. Dock runs it as a process. Use Docker only when you need a foreign OS.

No. Test on systems you own or are authorized to use. Do not abuse Dock, Keel, or anyone else's network. Buraaq administration cooperates with lawful agency requests. Read the security notes.

1.0 is the language. The ceremony is the install.

Write a file. Get a binary. Land it. Test only what you are authorized to test. Buraaq administration stays cooperative with agencies.