remove
ユーザーが入力remove 'd' ["abc", "dc", "ad"]
して出力を取得できるように、関数を作成しようとしています["abc", "c", "a"]
。
私のコードは次のとおりです。
remove :: Eq a => a -> [[a]] -> [[a]]
remove a (x:xs) = filter (not.a) (x:xs)
しかし、次のエラー メッセージが表示されます。
Occurs check: cannot construct the infinite type: a = [a] -> Bool
When generalising the type(s) for `remove'
エラー メッセージの意味と、2 行目を変更するにはどうすればよいですか?