THE CELL one slot, one value — the atom the whole batch acts upon
Before the ten verbs, the noun. In i13 a cell is a single f64 slot in a bounded array — v[i] — and it holds exactly one value. There are no nested cells: [[1,2],[3,4]] is rejected outright (a cell cannot contain a cell). So the nesting this batch plays in — | < { [ ~ ~ ] } > | — is not native; it is emulated on a flat tape by address arithmetic, the way the 6502 gate emulated memory. And because writes are value-semantic (each v[i]←e yields a new array, never a mutation), a cell can be invaded but never truly destroyed: the prior value survives in the prior array. That single fact is why every operation here has an inverse waiting on the mirror side.
THE TECHNIQUE a cell = one f64 slot; no nesting; writes are non-destructive
The tape [0,1,2,3,4,4,3,2,1,0] encodes the bracket-palindrome as nesting depths. The demo reads the core cell — the ~~ at the deepest point: live demo
HISTORY & CREDIT the memory cell · value semantics
“A cell can hold a structure.” — not in i13: a cell is one number, nesting is emulated, and a write makes a new tape rather than overwriting the old. The atom is indivisible and immutable. cited
the cell · the addressable unit of store — the von Neumann memory word; the array slot. value semantics · from functional programming: a “write” produces a new value, the old one persists (immutability). this batch · ten verbs act on this atom, in palindromic pairs; dart k and dart 17−k undo each other.
One slot, one value, no nesting, no destruction. Everything the ten verbs do, they do to this. the cell
RECOMMEND FOR I-13 the atomic cell, read on the compiler
On the canonical compiler, the core cell of the palindrome tape is 4, and a cell holds exactly one value:
$ i13 run d_cell.i13 # the ~~ core of [0,1,2,3,4,4,3,2,1,0]
RUN OK · 16 step(s) · peak stack 10 · call depth 0
core_cell = 4
is_one_value = 1 -- a cell is atomic: one f64, no nesting
Recommend as the batch's ground truth: the cell is the noun the ten verbs conjugate. Its two constraints shape everything: flat (nesting must be emulated, so | < { [ ~ ~ ] } > | becomes depth-addressing on a tape) and value-semantic (writes are non-destructive, so the original always survives). Its mirror is dart 341, the tape — the whole array against this single atom. Not a keeper (an atom is not a mechanism); the keeper shot of the batch waits at dart 340, the bridge, where the tape's balance becomes a guarantee.