;; duplicates?: list --> boolean ;; returns true if there are any duplicated elements ;; in the given list, l. (define (duplicates? l) (cond [(empty? l) false] [(cons? l) (or (duplicates?_help (rest l) (first l)) (duplicates? (rest l)))])) ;;duplicates?_help: list any --> boolean ;; returns true if x equals any element in l (define (duplicates?_help l x) (cond [(empty? l) false] [(cons? l) (cond [(equal? x (first l)) true] [else (duplicates?_help (rest l) x)])])) (boolean=? false (duplicates? empty)) (boolean=? false (duplicates? (cons 'a empty))) (boolean=? false (duplicates? (cons 1 (cons 2 empty)))) (boolean=? true (duplicates? (cons "hello" (cons "hello" empty)))) (boolean=? true (duplicates? (list 'a 2 "xyzzy" 2 6))) (boolean=? true (duplicates? (list 3 'yahoo 55 55 55))) (boolean=? false (duplicates? (list 'x 'y 'z)))