subst

Das Resultat des Aufrufs (subst x y z) ist eine S-Expression, die aus z entsteht, wenn jedes Vorkommen von y durch x ersetzt wird.

Die Funktion subst basiert auf cond, equal?, atom?, cons, first und rest:

(setq subst
  (lambda (x y z)
    (cond
      ((equal? y z) x)
      ((atom? z) z)
      ((cons
        (subst x y (first z))
        (subst x y (rest z)))))))