Language — v5.1.0

Rail

A self-hosting compiler. Zero C dependencies.

Rail compiles itself to a ~1.3 MB ARM64 binary. Six backends: native ARM64, Linux ARM64, Linux x86_64, WASM (early), Cortex-M4, RISC-V — and it JIT-emits its own Metal GPU kernels. One language for the whole stack — compiler, TLS, plasma sim, site generator, training loop.

Rail v5.1.0 // 170/170

2-pass byte-identical self-compile · BSL 1.1 · Detroit, MI

Figures

The numbers, cited.

every figure below is injected at deploy time from the same generated registry the honesty gate enforces — nothing here is typed by hand

Current release
170/170
Tests green
1.3 MB
Seed binary
101
Stdlib modules
45
Tagged releases
0
C dependencies

the release figure is a working prove button — press it and your browser fetches the tagged binary's attestation and checks the witness signature itself

Stdlib at a glance

What ships in the box.

Every module below is Rail source, compiled by Rail, running on the same ~1.3 MB binary. No FFI shims. No package manager.

Network

TLS 1.3

Pure-Rail handshake, x25519, ChaCha20-Poly1305, ECDSA P-256/P-384/P-521, RSA-PSS, Ed25519 verify. Chain-walk to trust store by default.

Network

HTTP + Socket

Raw TCP, chunked-transfer decoder, keep-alive, strict HTTPS GET/POST/PUT. Live against real public APIs.

Data

JSON, SQLite, Regex

Full JSON parser/emitter. SQLite via Rail-native bindings. Regex with backtracking engine.

ML

Tensor + Autograd

Metal GPU matmul. Reverse-mode autodiff. Transformer, optim, checkpoint — the attested-training substrate.

Crypto

Ed25519 + SHA-2

Sign and verify, RFC 8032 byte-identical. The signatures on every release ledger row below come out of these modules.

Physics

Plasma MHD

2D magnetohydrodynamics solver. Orszag-Tang vortex. The live run feeds the entropy beacon this site is clocked to.

101 modules in the box — the six above are the headliners

Why it exists

Fewer layers. Less hiding.

Modern systems are piles of indirection. A hello-world prints through five runtimes before it touches a screen. Each runtime promises to hide the layer beneath it — and each hiding costs you the ability to reason about what's actually happening.

Rail takes the other side of that trade. Short distance between source and silicon. One binary. One language. If you want to know what a line of Rail does, you read the compiler — which is written in the same Rail. The answer is always reachable.

Attested ledger

Recent releases, signed.

Each tagged row binds the release binary to an entropy-beacon pulse and an Ed25519 witness signature. The pulse anchors the moment of signing. Press verify and your browser checks the proof itself.

  1. attested training 2026-06-06 untagged · git history only

    A character language model trained with every step signed.

    plain words: the training run itself is on the chain — forge a gradient and verification fails

    Per-step Ed25519 ledger over the full forward/backward pass; a foreign verifier replays and confirms the run. Public branch, headed for a tag.

  2. type layer 2026-05-31 untagged · git history only

    A typed trust boundary: authenticated vs unauthenticated values.

    plain words: data that came from a checked proof and data that didn't now have different types — the compiler refuses to confuse them

    Float type-inference plus auth/unauth desugaring, merged to master. Sound for arbitrary payloads.

  3. v5.1.0 2026-05-15 attested @ p#1004625

    Rail emits its own GPU kernels.

    plain words: the language writes the GPU code it runs — at runtime, from its own op-graph

    DAG matcher + MSL emitter + JIT compile; two fused Metal kernels land 35× and 18× speedups at training shapes. bf16 regime stable over a 10k-step run. 141/141 still green; 2-pass byte-identical self-bootstrap unchanged.

  4. v5.0.2 2026-05-15 attested @ p#1002744

    Attestation pipeline goes fully pure-Rail.

    plain words: the thing that signs the compiler is written in the compiler's own language, end to end

    Hash → pulse → sign → publish with the attest/sign/publish shell scripts retired from the request path.

  5. v5.0.1 2026-05-15 attested @ p#987584

    Attestation hygiene + codegen tightening.

    Backfilled the v4-series attestations so the signed ledger has no gaps.

  6. v5.0.0 2026-05-14 attested @ p#976227

    Self-hosted toolchain — Linux ELF substrate.

    plain words: no external assembler, no linker — Rail writes the executable file itself

    Encoder, assembler, static linker, ELF writer, all pure Rail. Hand programs byte-equivalent to the canonical toolchain's output on a Raspberry Pi.

  7. v4.1.0 2026-05-13 backfill-attested @ p#987511

    Repo hygiene + leak-guard CI.

  8. v4.0.0 2026-05-13 backfill-attested @ p#987510

    Substrate parity + in-process JIT.

    ARM64 and x86_64 suites both fully green (140/140 and 136/136). JIT-first REPL at 0.1 ms/line. Single-program agentic loop with no shell and no subprocess.

  9. v3.11.0 2026-05-02 attested @ p#515139

    HTTPS PUT of arbitrary bytes — Rail uploads its own binary.

    End-to-end attestation now signs the binary that just compiled itself, and ships it over Rail's own TLS.

  10. v3.10.0 2026-05-02 attested @ p#510999

    Rail-native witness signer + Linux backend complete.

    The attestation pipeline is Rail end-to-end including the independent witness's HTTP signer.

  11. v3.9.0 2026-05-02 attested @ p#507683

    Ed25519 sign in pure Rail.

    RFC 8032 sign, byte-identical to the reference vectors. The signature math under every prove button on this page.

  12. v3.8.0 2026-05-01 attested @ p#467675

    Releases physicified.

    plain words: from this release on, every tag is signed against the public heartbeat the moment it ships

    Every tagged release, test pass, and self-compile fixed point binds to a live beacon pulse and a witness signature. The chain epoch.

Verify

Check a release yourself.

In your browser: press any verify button in the ledger above. The page fetches the release attestation, checks the Ed25519 witness signature against the pinned public key, confirms the beacon pulse it was anchored to, and shows you every step of the receipt. Nothing to install.

From a shell, if you'd rather not trust this page's JavaScript — the verifier is one curl away:

# Pull the verifier and the latest tagged release (v5.1.0).
# Each release has the same shape; pin the tag you trust.
curl -sf https://ledatic.org/attest/verify.sh -o /tmp/v.sh && chmod +x /tmp/v.sh
curl -sf https://ledatic.org/releases/v5.1.0/rail_native -o /tmp/rn
curl -sf https://ledatic.org/releases/v5.1.0/rail_native.attestation.json -o /tmp/rn.att.json
/tmp/v.sh /tmp/rn /tmp/rn.att.json
# → ok  artifact=rail_native  pulse_id=…  pk_fp=cac5f21a70564aeb