Skip to content

Repository files navigation

fx

Version: 0.9.73 · Release notes · GitHub

Copyright © 2026 Shawn Londono · LedoCorp · http://www.ledocorp.org License: GNU GPL v3 · NOTICE · third-party licenses


What fx is

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.


Install / try (2 minutes)

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


The idea in one screen

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

Learn path (read in order)

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.


Companion tools (separate packs)

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.


What’s in 0.9.73

  • Stable baseline for building real tools (platforms, argv, package pins locked; not labeled v1.0)
  • Weekend pathdocs/WEEKEND.md · compile map — docs/DRIVERS.md
  • fx new writes fx.mod — optional fx mod vendor / verify for checksums
  • Thin teaching examples — language-focused demos only
  • Web scaffoldfx 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.


Tooling

  • fx doctor · fx lsp · fx mcp (check / locate / run)
  • Editor day-one: docs/EDITOR.md

Contributing & security

Maintained by Shawn Londono / LedoCorp. PRs not accepted; issues welcome for bugs. CONTRIBUTING.md · SECURITY.md


Releases

Newest first under docs/releases/. Latest: 0.9.73.

About

fx - systems language with region-local ownership; dual emission (readable C + native IR).

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages