| a | list |
|---|
(list->set '(a b c b c)) => (a b c)
(define (list->set a)
(letrec
((l->s
(lambda (a r)
(cond ((null? a)
(reverse r))
((member (car a) r)
(l->s (cdr a) r))
(else (l->s (cdr a)
(cons (car a) r)))))))
(l->s a '())))