Blame


1 665c255d 2023-08-04 jrmu (defun square-tree-direct (tree)
2 665c255d 2023-08-04 jrmu (cond ((null tree) nil)
3 665c255d 2023-08-04 jrmu ((not (consp tree)) (square tree))
4 665c255d 2023-08-04 jrmu (t (cons (square-tree-direct (car tree))
5 665c255d 2023-08-04 jrmu (square-tree-direct (cdr tree))))))
6 665c255d 2023-08-04 jrmu
7 665c255d 2023-08-04 jrmu (defun square-tree-map (tree)
8 665c255d 2023-08-04 jrmu (mapcar
9 665c255d 2023-08-04 jrmu (lambda (subtree)
10 665c255d 2023-08-04 jrmu (if (consp subtree)
11 665c255d 2023-08-04 jrmu (square-tre-map subtree)
12 665c255d 2023-08-04 jrmu (square subtree)))
13 665c255d 2023-08-04 jrmu tree))
14 665c255d 2023-08-04 jrmu
15 665c255d 2023-08-04 jrmu (defun tree-map (func tree)
16 665c255d 2023-08-04 jrmu (mapcar
17 665c255d 2023-08-04 jrmu (lambda (subtree)
18 665c255d 2023-08-04 jrmu (if (consp subtree)
19 665c255d 2023-08-04 jrmu (tree-map func subtree)
20 665c255d 2023-08-04 jrmu (funcall func subtree)))
21 665c255d 2023-08-04 jrmu tree))