Entfernen von Duplikaten aus einer Liste in Haskell

Ich versuche eine Funktion zu definieren, mit der Duplikate aus einer Liste entfernt werden. Bisher habe ich eine funktionierende Implementierung:

rmdups :: Eq a => [a] -> [a]
rmdups [] = []
rmdups (x:xs)   | x `elem` xs   = rmdups xs
                | otherwise     = x : rmdups xs

Allerdings möchte ich dies ohne Verwendung überarbeitenelem. Was wäre die beste Methode dafür?

Ich möchte dies mit meiner eigenen Funktion tun und nichtnub odernubBy.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage