Эй, поэтому я изучал Haskell в классе, и мне была задана проблема удаления всех экземпляров чего-то из списка. Это мой ход, но я столкнулся с этой ошибкой, и я не уверен, что буду следовать.Haskell: Не удалось совместить ожидаемый тип с фактическим типом
--delete element from list
removeElement :: [a] -> [a]
removeElement x [] = []
removeElement x aList =
if (head aList) == x
then removeElement x (tail aList)
else aList
Ошибка я получаю это:
Couldn't match expected type `[[a]] -> [[a]]'
with actual type `[a]'
Relevant bindings include
removeElement :: [a] -> [a] (bound at hwmk3.hs:8:1)
The equation(s) for `removeElement' have two arguments,
but its type `[a] -> [a]' has only one
Я предполагаю, что синтаксис не так, но я не уверен, как это исправить. Спасибо за вашу помощь.
Подпись говорит, что ваша функция имеет один аргумент, а уравнение говорит, что у нее два. Имейте в виду, это * может * иметь смысл в Haskell, просто, вероятно, не то, что вам нужно здесь. –