THE ASCEND climb back out of the nesting — the right tilde of ~ ] } > |
To ascend is to climb back out through the shells to the rim — the right-hand ~ of | < { [ ~ ~ ] } > |, the first step of the return. It is the zipper's upward move: pop the path the descent remembered, undoing each step in reverse until you stand at the outermost shell again. Descend and ascend together are the pivot of the whole palindrome — the ~ ~ where inward turns to outward. Every operation the batch performed on the way in now meets its inverse on the way out; the ascend is the structural guarantee that there is a way back, that the nesting is a round trip, not a one-way fall.
THE TECHNIQUE walk outward while depth falls; return to the rim (the zipper up)
The demo ascends from the core — stepping out while the depth falls, back to the rim: live demo
HISTORY & CREDIT the zipper (up) · Huet 1997
“Once deep in a structure, you rebuild to get out.” — the zipper ascends by popping the remembered path; the way out is the way in, reversed. cited
1997 · Gérard Huet — “The Zipper”: the upward move reconstructs the parent from the child plus the saved context. up · an ascend pops the path the descend pushed — the exact inverse. mirror · dart 333, the descend: the two tildes that meet at the pivot.
Out through the shells to the rim, each remembered step undone. To ascend is to prove the descent had a way home. the zipper, 1997
RECOMMEND FOR I-13 the climb to the rim, on the compiler
On the canonical compiler, ascending from the core reaches the rim depth 0 — the outer | shell:
$ i13 run d_ascend.i13 # step out from the core while depth falls
RUN OK · 131 step(s) · peak stack 11 · call depth 5
ascended_to = 0 -- back at the rim (the ~ after the pivot)
Recommend: the ascend is the zipper's way back — from the core out to the rim 0, popping the descent's path. Not a keeper on its own (a traversal is coextensive with correctness), but structurally it is the batch's hinge: descend (333) and ascend (334) are the ~ ~ pivot, and from here every dart mirrors one before it. The ascend is the quiet guarantee the whole palindrome rests on — that going in always has a coming out.