summaryrefslogtreecommitdiff
path: root/coding-exercises/2/31.rkt
blob: 08e0d51395655e8d1847b068d5daf83e0dc0b88b (plain)
1
2
3
4
5
6
7
8
9
10
11
#lang racket
(define (tree-map fn tree)
  (map (lambda (subtree)
         (if (pair? subtree)
           (tree-map fn subtree)
           (fn subtree)))
       tree))
  
(define test-tree (list 1 (list 2 (list 3 4) 5) (list 6 7)))
((lambda ()
   (display (tree-map (lambda (x) (* x x)) test-tree))))