Renderingla

History

Origins

The first commit to the Radix compiler was made on December 20, 2024 as a Bun + TypeScript project with a single docs/decisions.md file. The second commit codified five Architecture Decision Records that still shape the language today.

ADR-003, titled "Case endings carry semantic meaning," established at the very beginning that Latin morphology would be more than a keyword-skin — the compiler would understand declension and conjugation to infer program intent. The original case mappings were:

Nominative  (subject)       →  return value, caller
Accusative  (direct object)  →  primary argument
Dative      (indirect obj.)  →  recipient, callback, destination
Genitive    (possession)     →  property access, "of" relationships
Ablative    (instrument)     →  dependencies, context, "using X"

The same document noted: *"Verb conjugation is a natural follow-on question (future tense → async?)."* This seed grew into the modern morphologia naming convention, where the standard library uses conjugated Latin verb forms to signal sync vs async and mutate vs copy-out — without requiring the compiler itself to understand Latin grammar.

The project began in TypeScript, was later rewritten in Rust, and the grammar was frozen for the 1.x line with edition 2026. The original five ADRs (file extension .fab, error hints, case endings, recursive descent parser, custom AST) are still visible in the git history.