I know how to write this in an recursive way.
(define (removed2 lst)
(cond
[(empty? lst) empty]
[(not (member? (first lst) (rest lst)))
(cons (first lst) (removed2 (rest lst)))]
[else (removed2 (rest lst))]))
so (removed2 (list 1 1 1 2 2 2 3 3 3 3 3 3)) gives (list 1 2 3)
However, how do you rewrite it only using abstract functions (filter, foldr, map, and build-list)?
I tried to use filter but it just doesn't work.