Lexer/parser for a minimal concrete-typed core (: ;, literals, arithmetic,
comparisons, if/else/end (originally if/else/then; the closer was renamed to end
in Slice 4), the core stack
shuffles dup/drop/swap/over/rot
(monomorphic, int-only here; widened later), and | locals |). Compile-time virtual
stack → a
backend-neutral IR → QBE IL → qbe → system assembler + linker → native binary.
No LLVM, no hand-written native backend. Keep the IR's Ptr[T] abstract from the
start so a WASM sibling lowering can be added later. Static stack-effect (arity)
checking. One concrete int type, no heap.
Exit (met): gcd, factorial, and lerp compile to standalone native binaries
and run correctly (5 / 120 / 30), plus a negative golden for the stack-effect
diagnostic. Proved the virtual-stack → IR → QBE → native path end-to-end.