One task = one way
The only loop is each. No while, no for, no map-vs-reduce dilemma.
# the only loop in the languagetotal <- 0each item in carttotal <- total + item.price
an AI-native programming language
One task, one way. Fewer decisions to make, fewer tokens to spend — a whole language small enough for an AI to hold in its head.
1234567891011121314
the problem
A dozen ways to do one thing. Packages that may not exist. Tokens spent on ceremony. For an agent, every choice is a chance to be wrong.
19.7%
of AI-suggested packages don't exist.
Fluxon ships every battery in the language — nothing to chase down, nothing to invent.
1
way to loop, to bind, to print.
No second idiom to weigh. The agent stops deciding and starts building.
~10k
tokens hold the entire language.
Fewer tokens in, fewer tokens out — more context left for the real problem.
less to think about
So Fluxon takes the choices away. Same task, same shape — the agent spends its thinking on the problem, not on the language.
A dozen idioms for one task — every fork a chance to be wrong.
One canonical path. The agent writes; it never has to choose.
the language
The only loop is each. No while, no for, no map-vs-reduce dilemma.
# the only loop in the languagetotal <- 0each item in carttotal <- total + item.price
http, db, ai, auth, ws, cron, queue — part of the language. No npm, no pip, no lockfile.
use http db ai # no install, no versionshttp.on :get "/health" \req -> rep 200 {ok:true}http.serve 8080
One line to call a model. Confidence, cost and latency come back as plain data.
r = ai.json "extract the order: ${text}" {product:str qty:int}if r._.conf > 0.85 # confidence is built indb.ins "orders" r
! propagates, ?? rescues, fail answers the client. No try/catch pyramids.
user = db.one "select * from users where id=$1" [id]!name = user.name ?? "guest"fail 422 "insufficient funds" # becomes the response
versus the world
A notes API: schema, two routes, a database. Most stacks start with scaffolding and dependencies. In Fluxon, the wiring is the language.
npm install express better-sqlite3 zod … + tsconfig + boilerplate
pip install fastapi uvicorn sqlalchemy + models + session wiring
0 installs — server, schema and persistence are the language
Rough token counts for the same runnable service. Fewer tokens = more context for the real problem — and fewer places to be wrong.
measured, not claimed
The same CRUD service, head to head against Python · FastAPI on one machine. Fluxon's Rust runtime answers reads in microseconds — and stays ahead even when FastAPI spreads across four cores.
one process each, on the host
faster
4 CPU each · FastAPI -w4 · DB on tmpfs
faster
Same 5-endpoint CRUD API, same SQLite (WAL), 50 VUs × 30 s, 0% errors on every run. Settings were matched on both sides (identical synchronous, DB on tmpfs to remove disk noise) so the gap reflects runtime, not configuration — Apple M3, k6.
methodology
Measured what AIs actually write reliably: canonical form beats choice, batteries beat packages.
Several models independently invented a language for themselves — and converged on the same ideas.
The spec went to models that had never seen Fluxon. Every gap they hit was a real flaw.
Close the gap, re-test, repeat — from URL shorteners to e-commerce, chat and fintech.
“The goal is not to outcompete existing languages. It is to be the programming language AI knows best — and likes most.”
get started
A single static binary — no runtime to install, no package manager to fight. Paste the command, write a .fx file, run it.
$ curl -fsSL https://fluxon-lang.com/install.sh | shDownloads the latest release, verifies its checksum, and puts fluxon on your PATH. No toolchain, no dependencies. Then run a file:
$ fluxon run hello.fxrun a .fx file$ fluxon replinteractive REPL$ fluxon --helpall commandsThe installer always grabs the latest release. Prefer to do it by hand? Grab a prebuilt archive from the releases page, or build from source with the Rust toolchain (cargo install --path runtime).
open source · under active development