Simple like Python
No let. No headers. name = 1. fn add(a: int, b: int). print knows the type. Unique std names import themselves.
Buraaq 1.0: self-hosted systems language
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
From a Keel API on a cloud host to firmware at the edge: same source shape, same native binary, no guest runtime in between.
Apps, game loops, and desktop tools with Python-shaped source and a native binary.
Keel TLS endpoints and pages: sockets stay in the runtime, not in a framework zoo.
Close to the metal: no GC, C ABI, and an honest path for unsafe work.
Tight loops and deterministic control where pauses are not an option.
Constrained hosts, long missions, and code that has to stay boring under stress.
Agents, parsers, and tools where memory mistakes become vulnerabilities.
Inference services, data paths, and hashed .bur ships: Land on any host without a guest OS.
Ledgers, plant control, and industrial systems that need native speed without a GC.
The names you were not expecting
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.
Live framed messages. Bind a port. Wire a client. say, hear, clip, shot. The name is the job.
stream(9420)
Gfx: a canvas, ink, and sound. flip a frame. held a key. play a clip. Games stay on the metal.
canvas(320, 180, "dot")
Named columns of cargo. Stow a row. Pick a cell. Keep a match. Tables without a second language.
hold("name,cents")
Numeric arrays that stay on the metal. zeros, dot, matmul. Maths without a guest runtime.
zeros(2, 2)
The hull. page, api, run. TLS is the default. Postgres is a URL on the host, not a framework.
api("items", "title, body")
Pack a hashed .bur, then Land the same kit on Hetzner, AWS, Azure, GCP, or a rack. Host OS only.
buraaq pack · buraaq land
Optional shell: buraaq, -e, or script a .bq file. Same language as AOT, compiled with clang. No GC. Use run for binaries.
buraaq · buraaq -e
Local models, OpenAI-compatible serve, LoRA train. Strata tiers GPU→RAM→disk when models outgrow VRAM. You type intent.
buraaq ai serve · strata
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.
| Python | C / C++ | Rust | Buraaq 1.0 | |
|---|---|---|---|---|
| Reads like | Yes | No | After a year | Yes |
| Native binary | No | Yes | Yes | Yes |
| GC pauses | Yes | No | No | No |
| Lifetime syntax | : | Manual | You write it | Compiler infers |
| Install to write | pip / venv | compiler suite | rustup | winget / zip / install.ps1 |
| Modules | __init__.py | headers | mod.rs + use | path is the name |
| Self-hosted | CPython | No | rustc | Buraaq |
| Ship | venv + host | Make + image | crate + image | hashed .bur |
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.
| Bench | n | C++ -O2 | Buraaq 1.0 | Ratio |
|---|---|---|---|---|
| nested_loop | 1e4² | 0.010s | 0.002s | 0.16× |
| integer_sum | 1e8 | 0.015s | <0.001s | 0.00× |
| float_saxpy | 1e7 | 0.004s | 0.004s | 0.97× |
| numerical_loop | 1e8 | 0.083s | 0.084s | 1.01× |
| fib_iter | 1e8 | 0.020s | 0.021s | 1.02× |
clang 22. Same n on both sides. Signed add/sub emit nsw. Unfavorable numbers stay published. Full method: performance.
No let. No headers. name = 1. fn add(a: int, b: int). print knows the type. Unique std names import themselves.
LLVM, MIR Orbit fold, --release-fast with thin LTO. integer_sum is 0.00× at n=1e8. Worst published: fib_iter 1.02×.
Lexer, parser, names, MIR, and LLVM emission are Buraaq. Install is dist/buraaq. You do not rent a runtime from another language.
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.
.bur, same OS as the host.
Start here
Install via winget, zip, or scripts; ledger to API; Stream, Hold, Grid, Script, Mind.
Low level
Ownership, allocation, measured Gate B loops, firmware, and how Buraaq stays fast without a GC.
APIs
TLS services, REST, Postgres, and pages: sockets stay in the runtime.
Deploy
Hashed native bundles, not Docker images. Pack once, dock, land.
FAQ
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.
Write a file. Get a binary. Land it. Test only what you are authorized to test. Buraaq administration stays cooperative with agencies.