intersection

Die Schnittmenge zweier Mengen kann mit intersection bestimmt werden.

> (intersection (quote (c d)) (quote (a b c))))
(c)


Die Funktion verwendet cond, null?, member?, cons, first und rest.

(setq intersection
  (lambda (u v)
    (cond
      ((null? u) nil)
      ((member? (first u) v)
        (cons (first u) (intersection (rest u) v)))
      ((intersection (rest u) v)))))