subst-if

Das Ergebnis des Aufrufs (subst-if x p z) ist eine S-Expression, die aus z hervorgeht, indem jeder Teilterm, für den das Prädikat p erfüllt ist, durch x ersetzt wird.

Die Funktion subst-if ist mit Hilfe der Funktionen cond, atom?, cons, first und rest definiert:

(setq subst-if
  (lambda (x p z)
    (cond
      ((p z) x)
      ((atom? z) z)
      ((cons
        (subst-if x p (first z))
        (subst-if x p (rest z)))))))