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

THE DESCEND step down into the nesting — the left tilde of | < { [ ~

To descend is to move inward through the shells, one level at a time, keeping your place as you go — the left-hand ~ of | < { [ ~ ~ ] } > |, the last step before the core. This is the zipper's downward move: a way to navigate into a structure while remembering the path back out. Where the pierce (dart 327) leapt straight to the core and returned only its value, the descend is the walk itself — the going-down that makes an ascent possible. Its mirror is dart 334, the ascend: down to the core, then back up to the rim, the two tildes that meet at the pivot of the whole palindrome.

THE TECHNIQUE walk inward while depth rises; stop at the core (the zipper down)

The demo descends the tape — stepping in while the depth rises, halting at the core: live demo


HISTORY & CREDIT the zipper (down) · Huet 1997

“To go into a structure you lose your way out.” — the zipper descends while keeping the path, so every step in can be retraced. Navigation with a breadcrumb. cited

1997 · Gérard Huet — “The Zipper”: a purely-functional cursor that moves through a structure (down/up/left/right) while remembering the context.
down · a descend is the zipper's step into a child, pushing the path onto the context.
mirror · dart 334, the ascend: the zipper's step back up.

In through the shells to the core, the path remembered at every step. To descend is to go deep without getting lost. the zipper, 1997

RECOMMEND FOR I-13 the descent to the core, on the compiler

On the canonical compiler, descending [0,1,2,3,4,4,…] reaches the core depth 4:

$ i13 run d_descend.i13 # step in while depth rises RUN OK · 142 step(s) · peak stack 11 · call depth 5 descended_to = 4 -- the core, reached step by step (the ~ before the pivot)
Recommend: the descend is the zipper's downward move — the walk into the nesting that reaches the core at depth 4. Not a keeper (a traversal is coextensive with correctness). Its worth is as the left tilde of the palindrome's ~ ~ pivot: descend (dart 333) goes down, ascend (dart 334) comes up, and between them sits the exact centre of | < { [ ~ ~ ] } > | — the turning point where the batch, like the tape, begins to mirror itself.