Version: 0.9.73 · Release notes · GitHub
Copyright © 2026 Shawn Londono · LedoCorp · http://www.ledocorp.org License: GNU GPL v3 · NOTICE · third-party licenses
fx is a systems language with visible control.
Named regions + effects in signatures. Native-first fx run (the primary compiler path when the program fits; otherwise a built-in fallback engine inside bin/fx). IR → native on that fallback path when QBE is present. Emit-C stays first-class and readable. Wrap mature C libraries instead of rewriting them.
This repo is the language package: put bin/ on your PATH and write fx.
License: GNU GPL v3 — see LICENSE.
Needs: this repo · gcc (or clang/zig) · Windows or Linux x86_64 (no macOS prebuilt).
# put bin/ on PATH, then:
fx doctor
fx version # v0.9.73
fx new hello
cd hello
fx run main.fx # expect exit 42
| OS | Binary | IR (when staged) |
|---|---|---|
| Windows | bin/fx.exe |
third_party/qbe/windows/qbe.exe |
| Linux | bin/fx |
third_party/qbe/obj/qbe |
Without QBE, use fx run main.fx --emit-c. Layout: PACKAGE.md.
Argv: fx run does not forward program args — use --scaffold cli / --host.
Pins: fx new writes fx.mod. Optional fx mod vendor / verify checksum std;
compile still uses the std/ beside your project (or FX_STD_ROOT).
import std/vec;
fn main() -> i32 effects { alloc, mut } {
region r = arena(4096);
let v: Vec<i32> = vec.new(0);
let v2: Vec<i32> = vec.push(v, 40);
let v3: Vec<i32> = vec.push(v2, 2);
return vec.get(v3, 0) + vec.get(v3, 1); // 42
}
fx run main.fx --emit-c
fx emit-c main.fx -o out_c
fx run lib.fx --host host.c
Also on the web: https://www.ledocorp.org/fx/docs/
| Step | Doc |
|---|---|
| 1 Install | docs/START_HERE.md |
| 2 Weekend path | docs/WEEKEND.md — hello → CLI → fxserve |
| 3 Backends | docs/DRIVERS.md — Auto / emit-C / IR / --driver sh |
| 4 Language | docs/LANGUAGE.md |
| 5 Composition | docs/COMPOSITION.md |
| 6 Regions / caps | docs/REGIONS.md |
| 7 Wrap / C host | docs/WRAP.md |
| 8 CLI | docs/CLI.md |
| Map | docs/SURFACE.md — as-implemented cheatsheet |
| Tracking | docs/TRACKING.md |
| Std / Reference | docs/STD.md · docs/REFERENCE.md |
What’s next: docs/NEXT.md.
Install from GitHub Releases (Win + Linux x86_64). Requires fx 0.9.6+ (prefer 0.9.73+). GPL-3.0.
| Tool | Role | Repo |
|---|---|---|
| fxrun | Task runner (fxrun.toml) |
ledocorp/fxrun |
| fxql | SQLite one-shot + FsCap | ledocorp/fxql |
| fxlz4 | LZ4 pack/unpack | ledocorp/fxlz4 |
| fxblake3 | BLAKE3 file/tree hash | ledocorp/fxblake3 |
| fxfetch | HTTPS GET + NetCap | ledocorp/fxfetch |
| fxpipe | Parallel BLAKE3 + nursery | ledocorp/fxpipe |
| fxguest | Cap speech (allow/deny/fuel) | ledocorp/fxguest |
| fxserve | Local static HTTP(S) | ledocorp/fxserve |
Site index: https://www.ledocorp.org/fx/tools/ · Detail: docs/LIBRARIES.md.
- Stable baseline for building real tools (platforms, argv, package pins locked; not labeled v1.0)
- Weekend path — docs/WEEKEND.md · compile map — docs/DRIVERS.md
fx newwritesfx.mod— optionalfx mod vendor/verifyfor checksums- Thin teaching examples — language-focused demos only
- Web scaffold —
fx new mysite web - Companion tools — fxserve and other CLIs in separate GitHub releases
- Carry-forward: GPL-3.0, default Auto
fx run,--emit-c, IR when QBE is present
Full notes: docs/releases/0.9.73.md.
fx doctor·fx lsp·fx mcp(check / locate / run)- Editor day-one: docs/EDITOR.md
Maintained by Shawn Londono / LedoCorp. PRs not accepted; issues welcome for bugs. CONTRIBUTING.md · SECURITY.md
Newest first under docs/releases/. Latest: 0.9.73.