val xs = [3, 1, 4, 1, 5, 9, 2, 6, 5] fun uniq [] = [] | uniq (x::xs) = if List.exists (fn y => y = x) xs then uniq (List.filter (fn z => z <> x) xs) else x :: uniq xs val _ = uniq xs