Eliminar duplicados de una lista en Haskell
Estoy tratando de definir una función que eliminará duplicados de una lista. Hasta ahora tengo una implementación de trabajo:
rmdups :: Eq a => [a] -> [a]
rmdups [] = []
rmdups (x:xs) | x `elem` xs = rmdups xs
| otherwise = x : rmdups xs
Sin embargo me gustaría volver a trabajar esto sin usarelem
. ¿Cuál sería el mejor método para esto?
Me gustaría hacer esto usando mi propia función y nonub
onubBy
.