an AI-native programming language

The language adapts to the AI.
Not the other way around.

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.

app.fxfluxon runtime
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ fluxon run app.fx
≈ 85 tokens0 dependencies1 file
httpdbaiauthwscronqueueregcryptojsonfsshtimeiobuilt into the language — nothing to install
httpdbaiauthwscronqueueregcryptojsonfsshtimeiobuilt into the language — nothing to install

the problem

Your favorite language is noise to an agent.

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

Every choice is a chance to be wrong.

So Fluxon takes the choices away. Same task, same shape — the agent spends its thinking on the problem, not on the language.

your languagedecisions 12+

A dozen idioms for one task — every fork a chance to be wrong.

fluxondecisions 1

One canonical path. The agent writes; it never has to choose.

the language

Four ideas you can read at a glance.

01

One task = one way

The only loop is each. No while, no for, no map-vs-reduce dilemma.

# the only loop in the language
total <- 0
each item in cart
total <- total + item.price
02

Batteries, not packages

http, db, ai, auth, ws, cron, queue — part of the language. No npm, no pip, no lockfile.

use http db ai # no install, no versions
http.on :get "/health" \req -> rep 200 {ok:true}
http.serve 8080
03

ai is a primitive

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 in
db.ins "orders" r
04

Errors without ceremony

! 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

The same service, measured in tokens.

A notes API: schema, two routes, a database. Most stacks start with scaffolding and dependencies. In Fluxon, the wiring is the language.

TypeScript · Express0tokens

npm install express better-sqlite3 zod … + tsconfig + boilerplate

Python · FastAPI0tokens

pip install fastapi uvicorn sqlalchemy + models + session wiring

Fluxon0tokens

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

Fewer tokens to write. Faster to run.

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.

Single-core

one process each, on the host

3.9×

faster

Fluxon0req/s
Python · FastAPI0req/s

Multi-core

4 CPU each · FastAPI -w4 · DB on tmpfs

2.16×

faster

Fluxon0req/s
Python · FastAPI0req/s
latency · multi-core, equal settingsms · lower = better
metricFluxonFastAPI
Read p951.151.50
List p951.292.11
Write p9522.659.6
Latency p500.530.79

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

Designed by stress test, not by taste.

01

Research

Measured what AIs actually write reliably: canonical form beats choice, batteries beat packages.

02

Invention

Several models independently invented a language for themselves — and converged on the same ideas.

03

Stress-testing

The spec went to models that had never seen Fluxon. Every gap they hit was a real flaw.

04

Refinement

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

One line, and you're running.

A single static binary — no runtime to install, no package manager to fight. Paste the command, write a .fx file, run it.

macOS / Linux
$ curl -fsSL https://fluxon-lang.com/install.sh | sh

Downloads 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 commands

The 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).

Stop teaching agents your language.
Give them theirs.

$fluxon run app.fx

open source · under active development