
(define make-replacer
  (lambda (x y)  ;; 
    (lambda (z)
      (if (= z x)
	  y
	  z))))

;; for the oral

(define (whatsthat x y)  
  (lambda (z)
    (if (= z x)
	y
	z)))



((make-replacer 3 5) 1)
((make-replacer 3 5) 3)
((make-replacer 3 5) 5)

;; simple search-and-replace, they call it 

(map (make-replacer 42 'towel) '(1 42 45 42 42 55 4))

(define make-replacer2
  (lambda (pred proc)
    (lambda (z)
      (if (pred z)
	  (proc z)
	  z))))
