RosettaCodeData/Task/Remove-duplicate-elements/Haskell/remove-duplicate-elements-3.hs

9 lines
218 B
Haskell

import Data.Set
unique :: Ord a => [a] -> [a]
unique = loop empty
where
loop s [] = []
loop s (x : xs) | member x s = loop s xs
| otherwise = x : loop (insert x s) xs