You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two related "finish & connect the string wall" changes on one branch.
## 1. String-wall cleanup (compiler)
`gen_binop`'s `OpConcat -> I32Add (* Placeholder *)` was a latent
landmine — it would *silently sum two string pointers* if ever reached.
It is provably unreachable (string `++` → `ExprStringConcat` / the 8a
guard; list `++` → its own arm; compound-assign maps only `+= -= *=
/=`), so it is now a loud `failwith` guard.
`proposals/EVIDENCE-stringwall-slices9-10.adoc` consolidates the eq
(slice 9) + relational (slice 10) lowerings and records the wall
complete.
## 2. affine-parity String-argument support (harness)
Extends the differential-parity harness to pass **String** args: after
instantiation it grows linear memory by one page and writes args as
`[len:i32 LE][utf8]` (matching the compiler's string layout), passing
them by pointer; the oracle still receives the JS string. Adds a `{
strings: [...] }` arg-spec form. Float args already pass through as wasm
f64 via `{ values: [...] }`.
This **connects the string-wall compiler fixes to the migration
harness**. The demo (`examples/string_float_demo`) proves slice-9 `==`
against a literal **and** slice-9 + slice-10 comparing two
*runtime-provided* strings pointer-vs-pointer — **22/22**. No regression
on int-only configs (DeviceType / VmState / Maths / NetworkZones
unchanged).
## Finding: the "float wall"
`Float` binops type-check but codegen emits **i32** instructions on f64
operands (`band_of` fails wasm validation: `i32.lt_s ... found f64`).
Never surfaced because the 94-brain corpus is all-Int (×1000
milli-units). The harness is already ready for float-input brains; the
float-codegen fix is the unblocker. See
`proposals/EVIDENCE-float-wall-finding.adoc`.
https://claude.ai/code/session_01WoKhFQePiRsAj7aqnxbG8s
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments