Как мне взять список в haskell и на выходе создать два списка?
Например, в вопросе, над которым я работаю, предлагается создать программу, которая принимает предикат и список и возвращает список из двух списков, первый из которых содержит те элементы входного списка, которые передают предикат, а второй - те, которые не передают его. заказ, например
tear (>5) [1,10,2,12,3,13]
=> [[10,12,13],[1,2,3]]
Что у меня есть на данный момент:
tear f [] = []
tear f (x:xs)
| f x = x: tear f xs
| otherwise = tear f xs
Что производит
tear (>5) [1,10,2,12,3,13]
[10,12,13]