| formold | element to replace |
|---|---|
| formnew | element to insert in the place of formold |
(replace 'x 'y '(lambda (x) x)) => (lambda (y) y)
(define (replace old new form)
(cond
((equal? form old) new)
((pair? form)
(cons (replace old new (car form))
(replace old new (cdr form))))
(else form)))