◄ WORLD V · SONNY 5DART 336 · a helldive at the net

THE RESTORE bring the value home — the original was never lost

To restore is to undo a transport: the value that was moved out returns to its cell, and the broken palindrome is whole again. And here i13's value semantics make the restore almost free — because the transport did not destroy anything (it forked a new tape), the original tape still exists, matched and intact. Restoring is a matter of reaching back to the version that was never harmed. The transported tape reports balance 0; the original reports 1. This is the mirror of dart 331: transport moved the value and broke the form; restore returns it and heals the form — the place-palindrome closed, the nesting matched once more.

THE TECHNIQUE return to the intact original (value semantics keep it alive)

The demo shows the transported tape (unbalanced) beside the original (still matched) — the restore reaches the intact one: live demo


HISTORY & CREDIT undo via persistence · 1986

“To undo a move you must carefully reverse it.” — under value semantics the pre-move version never went away; restoring is reaching back to it. Undo is free when nothing was destroyed. cited

persistence · because a write forks a new version (dart 328; Driscoll et al. 1986), every prior state remains queryable.
undo · restore = select the pre-transport version — the ends match again.
mirror · dart 331, the transport: move out (break), move home (heal).

The transported tape is unbalanced; the original, never harmed, is matched. To restore is to return to a home that was always there. undo, 1986

RECOMMEND FOR I-13 the healed balance, on the compiler

On the canonical compiler, the transported tape is unmatched (0) while the original is matched (1) — restore reaches the intact one:

$ i13 run d_restore.i13 # transported vs the surviving original RUN OK · 190 step(s) · peak stack 11 · call depth 6 transported_pal = 0 -- moved: the balance is broken restored_pal = 1 -- the original survived, matched
Recommend: the restore closes the place-palindrome (331↔336) and shows why the batch can promise a way home — not through careful reversal but through persistence: the pre-transport tape was never destroyed. Not a keeper (the survival is i13's value semantics, coextensive with its correctness, so witnessed not enacted — the same call made at dart 328). What it enacts for the reader is the batch's quiet law: no operation here is a point of no return.