Конечно, он не может иметь дело с бесконечными списками, которые содержат ноль или один x, но, по крайней мере, он заканчивается в случае более чем одного вхождения x.
ался определить функцию, которая, учитывая список целых чисел и целое число n, возвращает логическое значение, указывающее, встречается ли n ровно один раз в списке.
У меня есть это, но это не работает, и я не могу понять это
once :: [a] -> (a -> Bool) -> Bool
filter _ [] = []
filter p (x:xs)
| p x = x : filter p xs
| otherwise = filter p xs
An example of what I want would be:
Main> once [2,3,2,4] 2
False
Main> once [1..100] 2
True