chickadee » anaphora » atree-recurser

(atree-recurser recur-xpr base-xpr)syntax

anaphoric macro with internal symbols it, representing the current tree, go-left and go-right, representing traversal along cars and cdrs respectively. The result is a procedure, which recurs on its only list argument.

(define atcopy
  (atree-recurser (cons (go-left) (or (go-right) '())) it))
(atcopy '(1 (2 3 (4)) 5)) ; -> '(1 (2 3 (4)) 5)