Cómo eliminar todos los duplicados en una lista usando el esquema (solo se permiten funciones de lista abstracta)
Sé cómo escribir esto de manera recursiva.
(define (removed2 lst)
(cond
[(empty? lst) empty]
[(not (member? (first lst) (rest lst)))
(cons (first lst) (removed2 (rest lst)))]
[else (removed2 (rest lst))]))
entonces (eliminado2 (lista 1 1 1 2 2 2 3 3 3 3 3 3)) da (lista 1 2 3)
Sin embargo, ¿cómo se reescribe solo usando funciones abstractas (filter, foldr, map y build-list)?
Intenté usar el filtro pero simplemente no funciona.