Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Lisp

Idiom #277 Remove an element from a set

Remove the element e from the set x.

Explains what happens if e was already absent from x.

(defun rmv (elem lst) 
 (if (null lst) nil
   (if (equal elem (car lst)) 
     (cdr lst)
     (cons (car lst) (rmv elem (cdr lst))))) )

(setf x (rmv e x ))
(disj x e)

Removing a non-existent element from a set returns back an identical set.

New implementation...