← Back to Blog

Signatures, Storage, Surfaces

2026-04-20 nicheshowcase

This release is about signatures, storage, and surfaces. Crypto you can trust. Bytes you can read out of a file nobody shipped a tool for. Industrial fieldbus nobody updates. Outdoor tracks people actually care about. And a compiler pass that turns a pipeline into a literal.

◉ Uniqueness, still enforced

Five paths, all verified 404 before any byte shipped.

- lateralus-stdlib/crypto/ed25519.ltl — RFC 8032 Ed25519 sign/verify - lateralus-stdlib/db/sqlite_btree.ltl — SQLite 3 page/B-tree reader - lateralus-examples/niche/modbus_rtu.ltl — Modbus RTU codec + client - lateralus-examples/niche/gpx_tracks.ltl — GPX reader/writer + stats - lateralus-compiler/pass/const_fold.ltl — pipeline-aware const folding

◉ 1. Ed25519, written the way the RFC reads

Every entry point follows RFC 8032 nomenclature — keypair(seed), sign(seed, public, message), verify(public, message, signature) — and the internal structure mirrors ref10: Edwards-curve addition in extended coordinates, SHA-512 for hashing, a constant-time scalar multiplication for signing, and a split-file layout so the algorithm file reads like the RFC and the field arithmetic lives in a support module.

◉ 2. SQLite at the page level

You have a 4 GiB .sqlite file and something is wrong with it. You don't want a SQL engine, you want to see the pages. db/sqlite_btree.ltl reads the 100-byte file header, decodes every B-tree page kind (InteriorTable 0x05, LeafTable 0x0D, and friends), parses SQLite's nine-byte varint, and exposes walk_table(bytes, root_page, header) as an iterator of (rowid, payload) pairs. Forensics, schema archaeology, and corruption triage in one 200-line module.

◉ 3. Modbus RTU — the protocol that refuses to die, part II

1979 called and wants its protocol back. Every solar inverter, VFD, and HVAC controller still speaks Modbus RTU: a slave address, a function code, some data, and a little-endian CRC-16 with polynomial 0xA001. This release ships the codec for function codes 0x01..0x10, CRC-16 handrolled, exception responses decoded, and a Transport = fn([Byte]) -> Result<[Byte], String> abstraction that lets you drop in an RS-485 driver, a TCP bridge, or a mock for tests without touching the protocol layer.

let client = |bytes| rs485::send_recv(port, bytes, timeout)
let regs   = request(client,
                     Request::ReadHoldingRegisters {
                         address: 1, start: 0, count: 10 })?

◉ 4. GPX, the outdoors format

niche/gpx_tracks.ltl parses GPX 1.1 — waypoints, routes, tracks, extensions for HR/cadence — and ships a stats() function that computes haversine distance, duration, moving time against a configurable threshold, total ascent and descent (counting only positive/negative elevation deltas), average and max speed, and average heart rate. Perfect for turning a ride export into a ride report in five lines.

◉ 5. Pipelines fold to literals

The compiler pass in this release makes the following true: if every stage of a pipeline is pure and every non-pipeline argument is a literal, the whole expression becomes a literal in the IR.

[1, 2, 3] |> map(|x| x * x) |> sum()
// compiles to the literal `14`

fold_expr walks every Expr::BinOp, Expr::If, Expr::Match, Expr::Call, and Expr::Pipeline and collapses the ones it can prove pure. The shortlist of allowed stdlib functions (iter::map, iter::filter, iter::sum, iter::len, math::abs) is the conservative default; user code opts in with #[const] and gets evaluated in a CTFE sandbox. The pass reports how many expressions it folded, so benchmarks can see the effect in a build log.

◉ Pattern holds

Twenty-five modules across five releases, zero duplicates, 100% push success. The ecosystem now has primitives for borrow-checking, LSP, GraphQL, WASM, HTTP, capability tracking, FASTA, Game Boy ROMs, LoRa, MIDI, CAN, EXIF, SNMP, macros, PostScript, Ed25519, SQLite, Modbus, GPX, and pipeline-folding. That's wider than most first-year ecosystems ever get.

Try it in the playground

Every snippet on this page runs in your browser. No install, no signup.

▶ Open Playground Star on GitHub