Radix 0.11.0
| Field | Value |
|---|---|
| Product | Radix |
| Version | 0.11.0 |
| Source | Closed for now — see Open source |
Install this version#
No prebuilt archives were published for this version. It is listed here because its release notes are part of the record.
Release notes#
Major bootstrap compiler push: the semantic analyzer and TypeScript codegen are
now written in Faber and compile through the bootstrap toolchain. The language
gains optional parameters (if/vel syntax) and alias bindings in pattern
matching (as). The lege I/O form drops parens to match standard read/readline
convention. Parser internals are cleaned up with extracted keyword predicates,
fixed idiom bugs, and simplified casts.
Scale#
| Signal | Count |
|---|---|
| Commits (no merges) | 32 |
| Date span | 2025-12-31 → 2026-01-01 |
Major tracks#
Bootstrap compiler (self-hosting)#
- Adds the Phase 2 semantic analyzer for the bootstrap compiler (
fons-fab/semantic/): 18 files, ~2,900 lines covering type resolution, scope chains, error reporting, and theResolvitorpattern for mutual recursion (25a26fe81) - Adds the TypeScript code generator written in Faber (
fons-fab/codegen/ts/): 5 files, ~1,480 lines covering 24 expression types and 31 statement types (9474df2b1) - Adds the codegen entry point and a minimal
stdin→stdoutCLI bootstrap compiler (8adfe3c61) - Fixes 52 files across the bootstrap compiler: adds
@ publicumexports, correctsSymbolumGenusenum member names (Semicolon→PunctumColonetc.), and fixes stdlib method names to match thelistregistry, reducing TypeScript errors from 358 to 299 (9b090eaf5) - Refactors TS codegen from string concatenation to
scriptum()builder (4a97381d3) - Refactors codegen to use
asalias binding inmatchblocks (df76c1982) - Fixes
scriptum()brace escaping in TS codegen (88632adcc) - Removes unnecessary
qua Expressiacasts now that type inference handlesmatchbindings (dea753769) - Applies
ifoptional parameter syntax in bootstrap compiler source (34c988410) - Extracts statement-starting and genus-member keyword predicates from
nucleus.fabintolexicon/verba.fabas a single source of truth, eliminating the maintenance hotspot identified by LLM reviewers (b042924df) - Fixes
specta/praeviusparser idiom bugs indeclara.fab,fluxus.fab, andimperium.fab; adds LLM Readability Goal to design philosophy (926c74e83) - Adds
lineamkeyword to thefons-fablexicon (9a923fed3)
Optional parameters (if/vel syntax)#
- Implements optional function parameters using
if(if) to mark optional andvel(or) to provide defaults — syntaxde si numerus depth vel 3— with codegen for all 6 targets (TS, Py, Rust, C++, Zig, Fab) and semantic rules enforcing required-before-optional ordering (672e957d1) - Documents the
if/velparameter modifier syntax inCLAUDE.md(5862d23f2)
Alias bindings in match pattern matching (as)#
- Adds the
askeyword to bind a whole variant to a name instead of destructuring fields positionally withpro— codegen updated for all 6 targets (9031e9f56) - Recommends
asoverprofor readability inCLAUDE.md(be26dc785)
lege stdin syntax change#
- Changes stdin reading from
lege()tolege(read all) and addslege lineam(read one line), following standard I/O convention of read vs readline; updates parser, AST, all codegen targets, and tests (2df48ca57) - Regenerates grammar documentation for the new
lege lineamsyntax (fd88f7956)
Semantic analysis fixes#
- Fixes
matchpattern binding type inference: addsDiscretioTypewith variant field tracking so bindings likesi Click pro x, ycorrectly infer field types instead of defaulting tounknown(475b8e9ce) - Fixes
discretioreturn type mismatch forfinge...quaexpressions: theresolveFingeExpressionnow looks up the actualdiscretiotype from the symbol table instead of creating a mismatcheduserType()(98529af43)
Documentation and process#
- Updates
AGENTS.mdwith workspace layout and process documentation (9488acba5) - Merges
CLAUDE.mdintoAGENTS.md(3219f9fd9), then adds grammar verification guidelines toAGENTS.md(2f4c49f35) - Adds LLM cross-model validation finding to README (
31cdedc89) - Creates
consilia/futura/si-intra.md— a planning document for an if-within-if guard clause pattern (20f75f287) - Updates
bootstrap-ts.mdfor parser completion (27 files, 6,259 lines) and progress tracking (6a5a6ec9e,80756ce17,ac9d033ae) - Adds test documentation files (
5eeb8923d)
Other changes#
- Disables the
formatCLI command; the archived prettier plugin is removed (5574cb06e) - Moves prettier source from
fons/toarchivum/(8e86d046f) - Renames disabled prettier test (
a35876011)
---