From 18fc014377935e489fb5f205dc72c7f9749d60d9 Mon Sep 17 00:00:00 2001 From: Brummel Date: Sun, 10 May 2026 11:48:39 +0200 Subject: [PATCH] design-md-consolidation 1.3 fixup: repair two date-strip quality issues --- docs/DESIGN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/DESIGN.md b/docs/DESIGN.md index cf6a3a0..70bc8aa 100644 --- a/docs/DESIGN.md +++ b/docs/DESIGN.md @@ -1609,7 +1609,7 @@ between a hand-written `show_int` and a synthesised `show__Int`. **Why mono, not virtual dispatch (the empirically-grounded version).** The original rationale implicitly argued that mono saves a per-call indirect-jump cost. A mono-vs-vdisp micro-benchmark -(`bench/mono_dispatch.py`, JOURNAL entry of the same date) refutes +(`bench/mono_dispatch.py`, JOURNAL bench-notes entry) refutes that specific claim: on a saturating branch predictor with a monomorphic indirect target, indirect dispatch is free relative to the same-shape non-inlined direct call (1.000x on Zen 3 / clang -O2). @@ -2020,8 +2020,8 @@ canonical-JSON hash. ``` Two allocator backends share the same MIR. `--alloc=rc` is the -canonical backend committed to in Decision 10 and the CLI default -the typechecker enforces +canonical backend committed to in Decision 10 and the CLI default. +The typechecker enforces `(own)` / `(borrow)` modes, codegen emits `ailang_rc_inc` / `_dec` calls at the points dictated by linearity, and `Term::Clone` / `Term::ReuseAs` materialise into actual rc-bumps and in-place